FSCalendar jumps to year 1970



我正在尝试使用dispatch main队列重新加载fscalendar。它可以正常工作,但会导致日历一直跳到1970年我如何防止这种情况发生?还是将日期设置为当前日期?这是我的代码:

DispatchQueue.main.async {
    self.calendar.firstWeekday = 7
    self.calendar.locale = Locale(identifier: "fa_IR")
    self.calendar.select(Date())
    self.calendar.identifier = NSCalendar.Identifier.persian.rawValue
    self.calendar.reloadData()
}

顺便说一句,这个问题与派遣无关。以其他形式重新加载它也会引起相同的问题。

在当前日期,您必须首先获得当前月份。为此,您必须添加两种FSCalendarDelegate

的方法
func calendar(_ calendar: FSCalendar, shouldSelect date: Date, at monthPosition: FSCalendarMonthPosition)   -> Bool {
    return monthPosition == .current
}
func calendar(_ calendar: FSCalendar, shouldDeselect date: Date, at monthPosition: FSCalendarMonthPosition) -> Bool {
    return monthPosition == .current
}

希望这对您有帮助。

最新更新