我有一个日历,我希望当我选择每天选择一整行(周)..这是到目前为止我的代码:iOS的SWIFT:选择单元格我要选择整行
//When a date is selected
func calendar(_ calendar: JTAppleCalendarView, didSelectDate date: Date, cell: JTAppleCell?, cellState: CellState) {
selectTheWeek(of: date)
setupLayoutCell(cell: cell, cellState: cellState)
}
func selectTheWeek(of date: Date) {
let starOfTheWeek = date.startOfWeek()
let endOfTheWeeK = date.endOfWeek()
calendarCollectionView.selectDates(from: starOfTheWeek, to: endOfTheWeeK)
}
extension Date {
func startOfWeek() -> Date {
let calendar = Calendar.autoupdatingCurrent
let currentDateComponents = calendar.dateComponents([.yearForWeekOfYear, .weekOfYear], from: self)
return calendar.date(from: currentDateComponents)!
}
func endOfWeek() -> Date {
let cal = Calendar.autoupdatingCurrent
var component = DateComponents()
component.weekOfYear = 1
component.day = -1
return cal.date(byAdding: component, to: startOfWeek())!
}
}
问题是我有一个无限循环,这是明确的原因。 但我不知道如何预防它。任何帮助?
JTAppleCalender
是外部库。它是collectionView
的延伸。
尝试添加一个布尔值来检查函数是从代码中添加日期还是从用户 –
什么?你对用户意味着什么? –
我将添加代码作为答案 –