ios - FSCalendar 跳转至 1970 年

标签 ios swift reload reloaddata fscalendar

我正在尝试使用 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 无关。以其他形式重新加载也会导致同样的问题。

最佳答案

对于当前日期,您必须首先获取当月位置。为此,您必须添加两个 FSCalendar Delegate

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
}
方法

希望这对您有帮助。

关于ios - FSCalendar 跳转至 1970 年,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46286706/

相关文章:

python - 修改 Python 模块的常见做法

ios - 图像需要很长时间才能在 iOS 上加载 phonegap 应用程序

ios - 如何只显示网页的一部分? UIWebView Swift

iOS SWIFT - NSJSONSerialization 后的 JSON 对象为 nil

ios - 为 Swift 2.0 集成音频和加速度计? (使用核心运动)

ios - Swift:tableView.reloadData() 方式太慢

iphone - SLRequest 适用于模拟器而非设备

ios - 使用 object_setIvar 时的 EXC_BAD_ACCESS

ios - 使用 iOS Objective C 访问 Web 服务并发送数据

firefox - 如何防止 Firefox 重新加载选项卡(即使单击了一个选项卡)