Swift 如何在 JTAppleCalendar 中显示之前、当前和未来月份
How to show previous, current and future months in JTAppleCalendar in Swift
对于日历,我在项目中使用 JTAppleCalendar,
在这里,如果我像下面那样给出 startDate and endDate
,那么我最初得到的是当前月份
extension ViewController: JTAppleCalendarViewDataSource {
func configureCalendar(_ calendar: JTAppleCalendarView) -> ConfigurationParameters {
let formatter = DateFormatter()
formatter.dateFormat = "yyyy MM dd"
let startDate = Date()
let endDate = formatter.date(from: "2050 01 01")!
return ConfigurationParameters(startDate: startDate, endDate: endDate)
}
}
使用上面的代码,我可以在日历中显示当前和未来的月份。但是我想最初显示当前月份,如果我向左滚动,我需要显示前几个月,如果我向右滚动,则需要显示未来几个月,但使用上面的代码我只能滚动到当前月份..但我也需要显示它的前几个月,如何做到这一点请帮忙
您必须 return 您的真实开始日期而不是 Date()
然后滚动到当前月份。
func configureCalendar(_ calendar: JTAppleCalendarView) -> ConfigurationParameters {
let formatter = DateFormatter()
formatter.dateFormat = "yyyy MM dd"
let startDate = formatter.date(from: "2010 01 01")!
let endDate = formatter.date(from: "2050 01 01")!
return ConfigurationParameters(startDate: startDate, endDate: endDate)
}
然后在您的 viewDidLoad
中您应该调用:
collectionView.scrollToDate(Date())
对于日历,我在项目中使用 JTAppleCalendar,
在这里,如果我像下面那样给出 startDate and endDate
,那么我最初得到的是当前月份
extension ViewController: JTAppleCalendarViewDataSource {
func configureCalendar(_ calendar: JTAppleCalendarView) -> ConfigurationParameters {
let formatter = DateFormatter()
formatter.dateFormat = "yyyy MM dd"
let startDate = Date()
let endDate = formatter.date(from: "2050 01 01")!
return ConfigurationParameters(startDate: startDate, endDate: endDate)
}
}
使用上面的代码,我可以在日历中显示当前和未来的月份。但是我想最初显示当前月份,如果我向左滚动,我需要显示前几个月,如果我向右滚动,则需要显示未来几个月,但使用上面的代码我只能滚动到当前月份..但我也需要显示它的前几个月,如何做到这一点请帮忙
您必须 return 您的真实开始日期而不是 Date()
然后滚动到当前月份。
func configureCalendar(_ calendar: JTAppleCalendarView) -> ConfigurationParameters {
let formatter = DateFormatter()
formatter.dateFormat = "yyyy MM dd"
let startDate = formatter.date(from: "2010 01 01")!
let endDate = formatter.date(from: "2050 01 01")!
return ConfigurationParameters(startDate: startDate, endDate: endDate)
}
然后在您的 viewDidLoad
中您应该调用:
collectionView.scrollToDate(Date())