Ich habe einen Kalender auswählen möchten, und ich möchte eine ganze Zeile (Woche) wählen, wenn ich einen Tag auswählen .. das ist mein Code so weit:iOS swift: Auswählen einer Zelle I die gesamte Zeile
//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())!
}
}
das Problem ist, dass ich eine Endlosschleife habe, und es ist der Grund klar. Aber ich weiß nicht, wie ich das verhindern kann. Irgendeine Hilfe?
JTAppleCalender
ist eine externe Bibliothek. Es ist eine Erweiterung von collectionView
.
versuchen, einen Boolean hinzuzufügen, um zu überprüfen, ob die Funktion die Tage aus dem Code oder vom Benutzer –
was? Was meinst du mit dem Benutzer? –
Ich füge den Code als Antwort hinzu –