iOS 自定义滚动指示器

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

pic.gif
  1. 无论是 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)
    }
  1. scrollBar 是我自己写的一个xib的控件 ,很简单如图


    A81854A7EFB5AD7C60A1F2E495ECC2D7.png
  2. scrollBar里面实现代码如下
    func updateFrame(index: CGFloat)  {
        var frame = indicatorView.frame
        frame.origin.x = index * (bgView.width - indicatorView.width)
        indicatorView.frame = frame
    }

如有需要,可向我要代码。

你可能感兴趣的:(iOS 自定义滚动指示器)