

理查德·托普奇(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)
日历标准可根据麻省理工学院许可证获得。有关更多信息,请参见许可证文件。