SGSegmentedProgressViewLibrary
SGSegmentedProgressViewLibrary 进度条是基于 UIProgressView 开发的。
如何使用
声明
var segmentBar: SGSegmentedProgressView?
添加进度视图
let rect = CGRect(x: 20, y: 100, width: self.view.frame.size.width-40, height: 2)
self.segmentBar = SGSegmentedProgressView(frame: rect, delegate: self, dataSource: self)
self.view.addSubview(self.segmentBar!)
代理 & 数据源
extension ViewController: SGSegmentedProgressViewDelegate, SGSegmentedProgressViewDataSource {
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)