

Richard Topchii im Telegramm
Calendarkit ist eine Swift -Kalender -UI -Bibliothek für iOS und Mac Catalyst. Es ähnelt der Apple Calendar App aus dem Feld und ermöglicht bei Bedarf eine Anpassung. Calendarkit besteht aus mehreren Modulen, die zusammen oder unabhängig verwendet werden können.
Wenn Sie eine Programmierfrage zur Verwendung von Kalendarkit in Ihrer Anwendung haben, erstellen Sie ein neues Github -Problem mit dem Frage -Tag.
Schauen Sie sich die Beispiel -App als Referenz an.
Erstellen Sie ein neues Problem aus der Vorlage, um einen Fehler zu melden oder eine neue Funktion anzufordern.
Video
Beispiel App
Calendarkit kann mit Swift Paket Manager oder mit Cocoapods installiert werden.
Die bevorzugte Methode zur Installation von Kalendarkit ist über den Swift -Paket -Manager.
https://github.com/richardtop/CalendarKit.git ) ein und klicken Sie auf Weiter .Hinzufügen von Paketabhängigkeiten zu Ihrer App
Um es zu installieren, fügen Sie die folgende Zeile zu Ihrem Podfile hinzu:
pod 'CalendarKit'Hinzufügen von Pods zu einem Xcode -Projekt
DayViewControllerEventDataSource -Protokoll, um Ereignisse zu zeigen. Calendarkit verlangt EventDataSource , um ein Array von Objekten zurückzugeben, die dem EventDescriptor -Protokoll entsprechen und alle Informationen angeben, die für die Anzeige eines bestimmten Ereignisses erforderlich sind. Sie können eine Standard Event als Modell verwenden oder Ihre eigene Klasse erstellen, die dem EventDescriptor -Protokoll entspricht.
// Return an array of EventDescriptors for particular date
override func eventsForDate ( _ date : Date ) -> [ EventDescriptor ] {
var models = myAppEventStore . getEventsForDate ( date ) // Get events (models) from the storage / API
var events = [ Event ] ( )
for model in models {
// Create new EventView
let event = Event ( )
// Specify DateInterval
event . dateInterval = DateInterval ( start : model . startDate , end : model . endDate )
// Add info: event title, subtitle, location to the array of Strings
var info = [ model . title , model . location ]
info . append ( " ( datePeriod . beginning! . format ( with : " HH:mm " ) ) - ( datePeriod . end! . format ( with : " HH:mm " ) ) " )
// Set "text" value of event by formatting all the information needed for display
event . text = info . reduce ( " " , { $0 + $1 + " n " } )
events . append ( event )
}
return events
}Nachdem Calendarkit eine Reihe von Ereignissen für einen bestimmten Tag erhalten hat, wird das Layout und die Anzeige von Ansicht verarbeitet.
Um auf die Benutzereingabe zu reagieren, überschreiben Sie die Mehtods von DayViewDelegate beispielsweise:
override func dayViewDidSelectEventView ( _ eventView : EventView ) {
print ( " Event has been selected: ( eventview . data ) " )
}
override func dayViewDidLongPressEventView ( _ eventView : EventView ) {
print ( " Event has been longPressed: ( eventView . data ) " )
} Calendarkit unterstützt die Lokalisierung und verwendet iOS -Standard -Gebietsschema, um Monat- und Tagesnamen anzuzeigen. Der erste Tag der Woche wird auch gemäß dem iOS -Gebietsschema ausgewählt.
Standardmäßig ähnelt Calendarkit der Apple Calendar App und unterstützt den Dunklen Modus vollständig. Bei Bedarf kann der Look von Calendarkit leicht angepasst werden. Die Schritte zur Anwendung eines benutzerdefinierten Stils sind wie folgt:
CalendarStyle -Objekt (oder kopieren Sie vorhanden).updateStyle -Methode mit dem neuen CalendarStyle auf. let style = CalendarStyle ( )
style . backgroundColor = UIColor . black
dayView . updateStyle ( style ) 
Die Liste der derzeit in der Entwicklung befindlichen Funktionen finden Sie auf der Seite "Ausgaben".
Überprüfen Sie vor dem Beitrag die Richtlinien und den Codestil.
Richard Topchii
Calendarkit ist im Rahmen der MIT -Lizenz verfügbar. Weitere Informationen finden Sie in der Lizenzdatei.