• Stars
    star
    798
  • Rank 54,768 (Top 2 %)
  • Language
    Swift
  • License
    MIT License
  • Created about 7 years ago
  • Updated 8 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A flexible UIPageControl like Instagram.

FlexiblePageControl

A flexible UIPageControl like Instagram.

Carthage compatible Swift 4.2.x Support

OverView

Install

Carthage

For Installing with Carthage, add it to your Cartfile.

github "shima11/FlexiblePageControl"
$ carthage update

CocoaPods

For installing with CocoaPods, add it to your Podfile.

pod "FlexiblePageControl"
$ pod update

Usage

let pageControl = FlexiblePageControl()
pageControl.numberOfPages = 10
view.addSubview(pageControl)

Customize

// color
pageControl.pageIndicatorTintColor = color1
pageControl.currentPageIndicatorTintColor = color2

// size
let config = FlexiblePageControl.Config(
    displayCount: 7,
    dotSize: 6,
    dotSpace: 4,
    smallDotSizeRatio: 0.5,
    mediumDotSizeRatio: 0.7
)

pageControl.setConfig(config)

Update page

func scrollViewDidScroll(_ scrollView: UIScrollView) {
    pageControl.setProgress(contentOffsetX: scrollView.contentOffset.x, pageWidth: scrollView.bounds.width)
}

or

pageControl.setCurrentPage(at: page)

Licence

Licence MIT