

Richard Topchii di Telegram
Calendarkit adalah perpustakaan UI Kalender Swift untuk iOS dan Catalyst Mac. Ini terlihat mirip dengan aplikasi Kalender Apple di luar kotak, sambil memungkinkan kustomisasi saat dibutuhkan. Calendarkit terdiri dari beberapa modul yang dapat digunakan bersama atau secara independen.
Jika Anda memiliki pertanyaan pemrograman tentang cara menggunakan Calendarkit di aplikasi Anda, buat masalah GitHub baru dengan tag pertanyaan.
Lihat aplikasi sampel untuk referensi.
Buat masalah baru dari template untuk melaporkan bug atau meminta fitur baru.
Video
Aplikasi sampel
Calendarkit dapat diinstal dengan Swift Package Manager atau dengan Cocoapods.
Cara yang disukai untuk menginstal Calendarkit adalah melalui Swift Package Manager.
https://github.com/richardtop/CalendarKit.git ) dan klik Next .Menambahkan dependensi paket ke aplikasi Anda
Untuk menginstalnya, tambahkan baris berikut ke podfile Anda:
pod 'CalendarKit'Menambahkan pod ke proyek XCode
DayViewControllerEventDataSource untuk menampilkan acara. Calendarkit membutuhkan EventDataSource untuk mengembalikan berbagai objek yang sesuai dengan protokol EventDescriptor , menentukan semua informasi yang diperlukan untuk menampilkan acara tertentu. Anda bebas menggunakan kelas Event default sebagai model atau membuat kelas Anda sendiri sesuai dengan protokol 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
}Setelah menerima serangkaian acara untuk hari tertentu, Calendarkit akan menangani tata letak dan tampilan tampilan.
Untuk menanggapi input pengguna, ganti mehtods dari DayViewDelegate , misalnya:
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 mendukung lokalisasi dan menggunakan lokal iOS untuk menampilkan nama bulan dan hari. Hari pertama dalam seminggu juga dipilih sesuai dengan lokal iOS.
Secara default, Calendarkit terlihat mirip dengan aplikasi Kalender Apple dan sepenuhnya mendukung Mode Gelap. Jika diperlukan, tampilan Calendarkit dapat dengan mudah disesuaikan. Langkah -langkah untuk menerapkan gaya khusus adalah sebagai berikut:
CalendarStyle baru (atau salin yang sudah ada)updateStyle dengan CalendarStyle baru. let style = CalendarStyle ( )
style . backgroundColor = UIColor . black
dayView . updateStyle ( style ) 
Daftar fitur yang saat ini dalam pengembangan dapat dilihat di halaman masalah.
Sebelum berkontribusi, silakan tinjau pedoman dan gaya kode.
Richard Topchii
Calendarkit tersedia di bawah lisensi MIT. Lihat file lisensi untuk info lebih lanjut.