SSCalendar 是一个 UI 库,可以用在你的应用中显示事件日历。这个日历库最初在 2013 年构建,用于一个需要类似 iOS 7 新版苹果日历应用体验的项目。当时,我找到了非常少的日历库,并决定自己构建一个。请注意,这个日历不是作为选择器设计的,而是用来显示现有的一系列事件。
SSCalendar 提供了 3 种不同的日历视图
如果对这个库感兴趣,我将努力改进它。目前它的功能有限,结构较差。一些需要改进的方面:
要运行示例项目,克隆仓库,然后首先从示例目录运行 pod install
。
iOS 8 及以上。
SSCalendar 通过 CocoaPods 提供。要安装它,只需将以下行添加到 Podfile
pod "SSCalendar"
首先,导入模块
import SSCalendar
然后,生成数据以填充日历。数据应采用 SSEvent 对象数组的格式
private func generateEvents() -> [SSEvent] {
var events: [SSEvent] = []
for year in 2016...2021 {
for _ in 1...200 {
events.append(generateEvent(year));
}
}
return events
}
private func generateEvent(year: Int) -> SSEvent {
let month = Int(arc4random_uniform(12)) + 1
let day = Int(arc4random_uniform(28)) + 1
let event = SSEvent()
event.startDate = SSCalendarUtils.dateWithYear(year, month: month, day: day)
event.startTime = "09:00"
event.name = "Example Event"
event.desc = "Details of the event"
return event
}
接下来,实例化你想要显示的日历视图控制器类型(SSCalendarAnnualViewController 或 SSCalendarMonthlyViewController),以及事件数组
let annualViewController = SSCalendarAnnualViewController(events: generateEvents())
let navigationController = UINavigationController(rootViewController: annualViewController)
navigationController.navigationBar.translucent = false
self.presentViewController(navigationController, animated: true, completion: nil)
Steven Preston,[email protected]
SSCalendar 可在MIT许可下使用。更多信息请参阅LICENSE文件。