Какой календарь выбрать для IOS приложения?

На данный момент я использую FSCalendar в своем приложении, но его функционал ограничен.

Мне нужен календарь с событиями. Объясняю: событие по типу Action как у кнопок, что бы при изменении даты или месяца происходило определенное событие, и после нажатия определенной кнопки, которая расположена на этой же странице - данная дата помечалась на календаре. Возможно я чего-то не знаю про FSCalendar, но все что я нашел - не работает для меня.

Заранее спасибо за помощь!


Ответы (1 шт):

Автор решения: schmidt9

В FSCalendar даты можно отмечать, используя метод его dataSource (нужно установить свойство dataSource в коде или интерфейс билдере). Вот пример как отметить выбранную в пикере дату. Также советую заглянуть в FSCalendar.h для ознакомления с другими возможностями кастомизации

class ViewController: UIViewController {
    
    @IBOutlet var calendar: FSCalendar!
    @IBOutlet var datePicker: UIDatePicker!
    
    private var selectedDate: Date?

    @IBAction func applyDateButtonTouchUpInside(_ sender: UIButton) {
        selectedDate = datePicker.date
        calendar.reloadData()
    }

}

extension ViewController: FSCalendarDataSource {
    
    func calendar(_ calendar: FSCalendar, numberOfEventsFor date: Date) -> Int {
        guard let selectedDate = selectedDate else {
            return 0
        }
        
        let calendar = Calendar.autoupdatingCurrent
        let dateWithoutTime = calendar.date(bySettingHour: 0, minute: 0, second: 0, of: date)
        let selectedDateWithoutTime = calendar.date(bySettingHour: 0, minute: 0, second: 0, of: selectedDate)
        
        if dateWithoutTime == selectedDateWithoutTime {
            return 1
        }
        
        return 0
    }
    
}

введите сюда описание изображения

→ Ссылка