A flexible UIPageControl like Instagram.
For Installing with Carthage, add it to your Cartfile
.
github "shima11/FlexiblePageControl"
$ carthage update
For installing with CocoaPods, add it to your Podfile
.
pod "FlexiblePageControl"
$ pod update
let pageControl = FlexiblePageControl()
pageControl.numberOfPages = 10
view.addSubview(pageControl)
// color
pageControl.pageIndicatorTintColor = color1
pageControl.currentPageIndicatorTintColor = color2
// size
let config = Config(
displayCount: 7,
dotSize: 6,
dotSpace: 4,
smallDotSizeRatio: 0.5,
mediumDotSizeRatio: 0.7
)
pageControl.setConfig(config)
func scrollViewDidScroll(_ scrollView: UIScrollView) {
pageControl.setProgress(contentOffsetX: scrollView.contentOffset.x, pageWidth: scrollView.bounds.width)
}
or
pageControl.setCurrentPage(at: page)
Licence MIT