我使用下面的函数来尝试在滚动日历时为每个标题打印一个月份。我做for循环的方式肯定有问题,因为我唯一能出去的月份是12月。什么好主意吗?由于
使用print("(names)"),我将在控制台上打印出所有月份。然而,我不能把它们正确地打印出来。
func calendar(_ calendar: JTAppleCalendarView, willDisplaySectionHeader header: JTAppleHeaderView, range: (start: Date, end: Date), identifier: String) {
//let months: [String] = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]
let months = Calendar.current.monthSymbols
let headerCell = (header as? MonthsHeader)
for names in months {
print("(names)")
headerCell?.monthsHeader.text = names
}
}
方法如下:
func calendar(_ calendar: JTAppleCalendarView, willDisplaySectionHeader header: JTAppleHeaderView, range: (start: Date, end: Date), identifier: String) {
let startDate = range.start
let month = myCalendar.dateComponents([.month], from: startDate).month!
let monthName = DateFormatter().monthSymbols[(month-1) % 12]
let year = testCalendar.component(.year, from: startDate)
let headerCell = header as? MyHeaderView
headerCell?.title.text = monthName + " " + String(year)
}
myCalendar——>这是一个Calendar()
实例
MyHeaderView->这是标题类