/TimeRuler

仿萤石云视频时间轴, 时间选择

Primary LanguageSwift

TimeRuler

iOS仿萤石云视频时间选择尺

因公司接入萤石云摄像头,参考了萤石云视频的UI界面, 在开发过程中觉得时间选择尺比较有意思, 于是单独拿出来做个记录。

滑动gif.gif

缩放gif.gif

  • 缩放时根据当前尺子宽度绘制不同级别的刻度
  • 计算时间标记是否需要显示, 当时间Text排不开的时候只显示小时或者每四个小时显示一个时间
  • 缩放的时候始终保持选中的时间处于中心位置, 所以需要在缩放的过程同时改变ScrollViewcontentOffset
private func contentOffset(current: Int) -> CGPoint{
        let proportion: CGFloat = CGFloat(integerLiteral: current) / (24 * 3600.0)
        let proportionWidth: CGFloat = (scrollView!.contentSize.width - sideOffset * 2) * proportion
        return CGPoint.init(x: proportionWidth - scrollView!.contentInset.left, y: scrollView!.contentOffset.y)
    }