KVKCalendar icon indicating copy to clipboard operation
KVKCalendar copied to clipboard

How to get month name in month view?

Open BhavinBhadani opened this issue 2 years ago • 7 comments

I have few questions regarding Month View setup.

  1. How to know month name when we scrolled horizontally with paging enable and how to get update about the month change?
  2. Can we have both vertical and horizontal separator in month view?
  3. How to show stripes instead of dots for events?
  4. Can we configure selection that is of square only rather than circle?

BhavinBhadani avatar Nov 29 '22 10:11 BhavinBhadani

Hello @BhavinBhadani!

  1. calendar style settings
style.month.scrollDirection = .horizontal
style.month.isPagingEnabled = true
style.month.autoSelectionDateWhenScrolling = true
  1. You can create your own custom cell to monthView (2, 3, 4)

kvyatkovskys avatar Dec 01 '22 08:12 kvyatkovskys

@kvyatkovskys Thanks for the reply. I am trying to use xib for the collection view cell like below but it isn't working and crashed when trying to get properties from cell.

     if type == .month {
        (view as? UICollectionView)?.register(TaskEventDateCell.self,
                                              forCellWithReuseIdentifier: "TaskEventDateCell")
        let cell = (view as? UICollectionView)?.kvkDequeueCell(indexPath: indexPath) { (cell: TaskEventDateCell) in
            // configure the cell
            if let day = parameter.date?.kvkDay {
                cell.dateLabel.text = "\(day)"
            }
            
            print("Date: \(parameter.date?.kvkDay)")
        }
        return cell
    }
    

Also, is there any delegate to know which month it is when we changes a month?

BhavinBhadani avatar Dec 01 '22 08:12 BhavinBhadani

@kvyatkovskys Thanks for the reply. I am trying to use xib for the collection view cell like below but it isn't working and crashed when trying to get properties from cell.

     if type == .month {
        (view as? UICollectionView)?.register(TaskEventDateCell.self,
                                              forCellWithReuseIdentifier: "TaskEventDateCell")
        let cell = (view as? UICollectionView)?.kvkDequeueCell(indexPath: indexPath) { (cell: TaskEventDateCell) in
            // configure the cell
            if let day = parameter.date?.kvkDay {
                cell.dateLabel.text = "\(day)"
            }
            
            print("Date: \(parameter.date?.kvkDay)")
        }
        return cell
    }

Also, is there any delegate to know which month it is when we changes a month?

  • just subscribe on this func willSelectDate(_ date: Date, type: CalendarType)
  • can you provide crash log, pls? I'll try to investigate...

kvyatkovskys avatar Dec 02 '22 06:12 kvyatkovskys

@kvyatkovskys Thanks again. let me send you view hierarchy for better understanding because I got a crash for outlets which already attached. Double checked few times and even used a new cell xib as well. In view hierarchy I don't even get content view.

Screenshot 2022-12-02 at 2 38 54 PM

and here is how TaskEventDateCell looks like Screenshot 2022-12-02 at 2 40 02 PM

BhavinBhadani avatar Dec 02 '22 09:12 BhavinBhadani

@kvyatkovskys Thanks again. let me send you view hierarchy for better understanding because I got a crash for outlets which already attached. Double checked few times and even used a new cell xib as well. In view hierarchy I don't even get content view.

Screenshot 2022-12-02 at 2 38 54 PM

and here is how TaskEventDateCell looks like

Screenshot 2022-12-02 at 2 40 02 PM

Hmm, will try to reproduce. Can you send the crash log, pls?

kvyatkovskys avatar Dec 06 '22 18:12 kvyatkovskys

@kvyatkovskys Regarding crash log, it just says that property outlet is nil as we don't have anything in hierarchy as you can see in above pic.

  Fatal error: Unexpectedly found nil while implicitly unwrapping an Optional value

As you can see outlets are properly attached as well Screenshot 2022-12-07 at 8 46 47 AM

And one more question, how we can hide inbound and outbound dates from custom cell? As you can see in a below video, the outbound dates to be shown when we scroll a little bit. And one more issue is when we change calendar cell size based on weeks in a month, whole layout just shattered.

https://user-images.githubusercontent.com/11731407/206439852-22aa6e3b-8db9-4bd2-9202-3bfe60668b29.mov

BhavinBhadani avatar Dec 07 '22 03:12 BhavinBhadani

I can't reproduce the issue with dates on month view... about the xib file, try to create a cell from code

kvyatkovskys avatar Dec 21 '22 19:12 kvyatkovskys