有个需求,要求自定义滚动指示器,花了半小时,还是记录下。作为工具,直接使用。

- 无论是 tableView, CollectionView, 还是ScrollView ,只需要拿出他们的
contentOffset
func scrollViewDidScroll(_ scrollView: UIScrollView) {
let offset: CGPoint = self.mCollection.contentOffset
let index = offset.x / self.mCollection.frame.width
scrollBar.updateFrame(index: index)
}
-
scrollBar 是我自己写的一个xib的控件 ,很简单如图
A81854A7EFB5AD7C60A1F2E495ECC2D7.png
- scrollBar里面实现代码如下
func updateFrame(index: CGFloat) {
var frame = indicatorView.frame
frame.origin.x = index * (bgView.width - indicatorView.width)
indicatorView.frame = frame
}
如有需要,可向我要代码。
网友评论