Platformsios 6.0, requires ARC

License MIT
Build Platform
Build Version
Build Status

Yet another page control for iOS, with awesome animation powered by Facebook pop library.


Any idea to make this more awesome? Please feel free to open an issue or make a PR.


Run Example

In your terminal,

cd [workspace]/RCPageControl/RCPageControlExample
pod install


open RCPageControlExample.xcworkspace


The recommended approach for installating RCPageControl is via the CocoaPods package manager.

In your Podfile, add a line shows below:

pod 'RCPageControl'


pod update


The API of RCPageControl is highly similar
as UIPageControl.

First of all

#import <RCPageControl.h>


  • Using initWithFrame:
RCPageControl *pageControl = [RCPageControl initWithFrame:CGRectMake(0, 0, 100, 10)];
  • Using initWithNumberOfPages:
RCPageControl *pageControl = [RCPageControl initWithNumberOfPages:5];


  • Using UIControlEvent
[pageControl addTarget:self action:@selector(changePage:) forControlEvents:UIControlEventValueChanged];
  • Using RCCurrentPageChangedBlock
[pageControl setCurrentPageChangedBlock:^(RCPageControl *pageControl) {
    //Code here


Just list new properties of RCPageControl.

  • indicatorDotGap
    The distance between two dots from their edges. Default value is 10.f, cannot be smaller than 2.f.

  • indicatorDotWidth
    The width of dot, you may assume that the dot is likes a circle. Default value is 4.f, cannot be smaller than 2.f.

  • animationSpeed & animationBounciness

We use POPSpringAnimation for dots animation. See POPSpringAnimation.h for more info.

  • animationDuration

The duration for UIView animation. Using in _indicatorIndexLabel animation. Only available when hideCurrentPageIndex is setting to NO. Default is 0.6f.

  • animationScaleFactor

The dot scale factor. Using to calculate the width of current dot. Default is 2.

  • hideCurrentPageIndex

When set to YES, the Page Index Label will be hidden. Default is NO. The displayed page is start from 1.

  • disableAnimation

When set to YES, all indicator dots’ changing animation will be disabled. Default is NO.

  • pageIndicatorTintColor

The dot background color. Default is [UIColor lightTextColor].

  • currentPageIndicatorTintColor

The current dot background color. Default is [UIColor whiteColor].

  • currentPageIndexTextTintColor

The Page Index Label‘s TextColor. Default is [UIColor darkTextColor].

  • currentPageIndexTextFont

The Page Index Label‘s Font. Default is [UIFont systemFontOfSize:0]. The font size will automatically adjusts by the value of indicatorDotWidth and animationScaleFactor


RCPageControl is available under the MIT license. See the LICENSE file for more info.

Latest podspec

    "name": "RCPageControl",
    "version": "0.1.1",
    "summary": "Yet another page control for iOS, with awesome animation powered by facebook pop library.",
    "homepage": "",
    "license": {
        "type": "MIT",
        "file": "LICENSE"
    "authors": {
        "Looping": "[email protected]"
    "platforms": {
        "ios": "6.0"
    "source": {
        "git": "",
        "tag": "0.1.1"
    "source_files": "RCPageControl",
    "public_header_files": "RCPageControl/*.h",
    "requires_arc": true,
    "dependencies": {
        "pop": []

Pin It on Pinterest

Share This