我有一個日曆,我希望當我選擇每天選擇一整行(周)..這是到目前爲止我的代碼: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
的延伸。
嘗試添加一個布爾值來檢查函數是從代碼中添加日期還是從用戶 –
什麼?你對用戶意味着什麼? –
我將添加代碼作爲答案 –