

Richard Topchii sur Telegram
Calendarkit est une bibliothèque d'interface utilisateur rapide rapide pour iOS et Mac Catalyst. Il ressemble à l'application Apple Calendar à l'extérieur de la boîte, tout en permettant la personnalisation en cas de besoin. Calendarkit est composé de plusieurs modules qui peuvent être utilisés ensemble ou indépendamment.
Si vous avez une question de programmation sur la façon d'utiliser Calendarkit dans votre application, créez un nouveau problème GitHub avec la balise de questions.
Consultez l'exemple d'application pour référence.
Créez un nouveau problème à partir du modèle pour signaler un bogue ou demander une nouvelle fonctionnalité.
Vidéo
Exemple d'application
Calendarkit peut être installé avec Swift Package Manager ou avec Cocoapods.
La façon préférée d'installer Calendarkit est via le gestionnaire de packages Swift.
https://github.com/richardtop/CalendarKit.git ) et cliquez sur Suivant .Ajouter des dépendances de package à votre application
Pour l'installer, ajoutez la ligne suivante à votre podfile:
pod 'CalendarKit'Ajout de pods à un projet Xcode
DayViewControllerEventDataSource Protocole pour montrer les événements. Calendarkit nécessite EventDataSource pour renvoyer un tableau d'objets conformes au protocole EventDescriptor , spécifiant toutes les informations nécessaires pour afficher un événement particulier. Vous êtes libre d'utiliser une classe Event par défaut comme modèle ou de créer votre propre classe conforme au protocole EventDescriptor .
// 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
}Après avoir reçu une gamme d'événements pour une journée particulière, Calendarkit gérera la mise en page et l'affichage de la vue.
Pour répondre à l'entrée de l'utilisateur, remplacez les mehtods de DayViewDelegate , par exemple:
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 prend en charge la localisation et utilise les paramètres par défaut iOS pour afficher les noms de mois et de jour. Le premier jour de la semaine est également sélectionné selon les paramètres régionaux iOS.
Par défaut, Calendarkit ressemble à l'application de calendrier Apple et prend en charge entièrement le mode obscur. Si nécessaire, le look de Calendarkit peut être facilement personnalisé. Les étapes pour appliquer un style personnalisé sont les suivantes:
CalendarStyle (ou copiez un existant)updateStyle avec le nouveau CalendarStyle . let style = CalendarStyle ( )
style . backgroundColor = UIColor . black
dayView . updateStyle ( style ) 
La liste des fonctionnalités actuellement en développement peut être consultée sur la page des problèmes.
Avant de contribuer, veuillez consulter les directives et le style de code.
Richard Topchii
Calendarkit est disponible sous la licence du MIT. Voir le fichier de licence pour plus d'informations.