

理查德·托普奇(Richard Topchii)電報
Calendarkit是iOS和MAC Catalyst的Swift Calendar UI庫。它看起來類似於Apple Calendar應用程序開箱即用,同時允許在需要時進行自定義。 calendarkit由多個模塊組成,這些模塊可以一起或獨立使用。
如果您有一個有關如何在應用程序中使用calendarkit的編程問題,請在問題標籤中創建一個新的github問題。
查看示例應用程序以獲取參考。
創建一個新問題,從模板報告錯誤或請求新功能。
影片
示例應用程序
Calendarkit可以使用Swift軟件包管理器或Cocoapods安裝。
安裝日曆標誌的首選方法是通過Swift軟件包管理器。
https://github.com/richardtop/CalendarKit.git ),然後單擊下一步。將軟件包依賴關係添加到您的應用
要安裝它,請將以下行添加到您的podfile:
pod 'CalendarKit'將吊艙添加到Xcode項目
DayViewControllerEventDataSource協議以顯示事件。 calendarkit要求EventDataSource返回符合EventDescriptor協議的一系列對象,並指定顯示特定事件所需的所有信息。您可以自由使用默認Event類作為模型或創建符合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
}在收到特定日期的一系列事件後,Calendarkit將處理視圖佈局和顯示。
為了響應用戶輸入,例如,覆蓋DayViewDelegate的Mehtods,例如:
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支持本地化,並使用iOS默認場所顯示月份和日名。一周的第一天還根據iOS語言環境選擇。
默認情況下,Calendarkit看起來與Apple Calendar應用程序相似,並且完全支持DAMP模式。如果需要,Calendarkit的外觀很容易被自定義。應用自定義樣式的步驟如下:
CalendarStyle對象(或複制現有的對象)CalendarStyle調用updateStyle方法。 let style = CalendarStyle ( )
style . backgroundColor = UIColor . black
dayView . updateStyle ( style ) 
當前正在開發的功能列表可以在“問題”頁面上查看。
在貢獻之前,請查看準則和代碼樣式。
理查德·托普奇(Richard Topchii)
日曆標準可根據麻省理工學院許可證獲得。有關更多信息,請參見許可證文件。