FSCalendar跳到1970年

问题描述 投票:0回答:1

我正在尝试使用Dispatch主队列重新加载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()
}

顺便说一句,这个问题与Dispatch无关。以其他形式重新加载它也会导致同样的问题。

ios swift reload reloaddata fscalendar
1个回答
0
投票

对于当前日期,您必须先获得当前月份的位置。为此你必须添加两个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
}

希望这会帮助你。

© www.soinside.com 2019 - 2024. All rights reserved.