SGSegmentedProgressBarLibrary
通过 Custom UIView 实现 SGSegmentedProgressBarLibrary
如何使用
声明
var segmentBar: SGSegmentedProgressBar?
添加进度视图
let rect = CGRect(x: 20, y: 100, width: self.view.frame.size.width-40, height: 2)
self.segmentBar = SGSegmentedProgressBar(frame: rect, delegate: self, dataSource: self)
self.view.addSubview(self.segmentBar!)
委托 & 数据源
extension ViewController: SGSegmentedProgressBarDelegate, SGSegmentedProgressBarDataSource {
func segmentedProgressViewFinished(finishedIndex: Int, isLastIndex: Bool) {
}
var numberOfSegments: Int {
return 5
}
var segmentDuration: TimeInterval {
return 5 // seconds
}
var paddingBetweenSegments: CGFloat {
return 3 // gap between segments
}
var trackColor: UIColor {
return UIColor.red.withAlphaComponent(0.3)
}
var progressColor: UIColor {
return UIColor.red
}
var roundCornerType: SGCornerType {
return .roundCornerBar(cornerRadious: 5)
}
}
属性
获取暂停状态
let isPaused = self.segmentBar?.isPaused
当前片段索引
let currentPlayingIndex = self.segmentBar?.currentIndex
操作
开始
self.segmentBar?.start()
暂停
self.segmentBar?.pause()
恢复
self.segmentBar?.resume()
播放下一个
self.segmentBar?.nextSegment()
播放上一个
self.segmentBar?.previousSegment()
重新开始
self.segmentBar?.restart()
重新开始当前
self.segmentBar?.restartCurrentSegment()
重置
self.segmentBar?.reset()
手动设置分段进度条的进度
self.segmentBar?.setProgressManually(index: 0, progressPercentage: 40)