RGTimeline
RGTimeline 是一个用于显示 '事件' 的自定义时间线控件,用 Swift 编写。
事件: 任何可以用开始和结束日期表示的东西。例如视频文件、日历条目等。
这个项目最初的想法来自KSTimeline,然而这个解决方案只支持一天的事件。我从头开始写这个解决方案以支持无限量时间的事件。
如何开始
- 通过 Cocoapods 安装
platform :ios, '11.0'
# You need to set target when you use CocoaPods 1.0.0 or later.
target 'SampleTarget' do
use_frameworks!
pod 'RGTimeline'
end
- 从源代码下载并构建 RGTimeline 框架至 Release
用法
Swift
import RGTimeline
示例
@IBAction weak var timelineView: TimelineView!
private func render()
{
//TEST DATA: TIMES IN GMT
//Friday, 1 June 2018 22:08:47 - Friday, 8 June 2018 22:08:47
//Saturday, 9 June 2018 00:20:04 - Saturday, 9 June 2018 06:20:04
//Tuesday, 26 June 2018 09:00:00 - Tuesday, 26 June 2018 09:04:36
let firstEvent = (Date(timeIntervalSince1970: 1527890927)...Date(timeIntervalSince1970: 1528495727))
let secondEvent = (Date(timeIntervalSince1970: 1528503604)...Date(timeIntervalSince1970: 1528525204))
let thirdEvent = (Date(timeIntervalSince1970: 1530003600)...Date(timeIntervalSince1970: 1530003876))
//To render in the default device timezone.
self.timelineView.render([firstEvent, secondEvent, thirdEvent])
//To render in a chosen timezone.
self.timelineView.render([firstEvent, secondEvent, thirdEvent], timezone: TimeZone(identifier: "Europe/London")!)
}
Objective-C
@import RGTimeline
特性
无限循环与无限
渲染你想展示的多少或多少。
强大而智能
优化渲染大量事件,而不会影响性能。智能“事件”聚类还意味着内存占用保持较低。
时区和夏令时支持
在任何你选择的时区渲染“事件”,并将夏令时转换反映出来。
6个精度级别
时间轴将从年渲染到秒,以便于直观显示事件,并易于跳转到精确的秒。
可完全自定义的UI
即时更改颜色并显示/隐藏功能。同时也支持在Interface Builder中使用。
要求
当前版本的RGTimeline需要
- Xcode 10或更高版本
- Swift 4.2或更高版本
- iOS 11或更高版本
作者
许可协议
- RGTimeline遵从MIT许可协议。请参阅LICENSE文件。