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)
    }

Demo: TimeRuler-Swift-github

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。