RCPageControl
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.
Requirements
- Xcode 10.0 or higher
- iOS 8.0 or higher
- ARC
- pop animation library
Run Example
In your terminal,
cd [workspace]/RCPageControl/RCPageControlExample
pod installThen,
open RCPageControlExample.xcworkspaceor typing xed ..
Installation
The recommended approach for installating RCPageControl is via the CocoaPods package manager.
In your Podfile, add a line shows below:
pod 'RCPageControl'Then,
pod updateUsage
The API of RCPageControl is highly similar as UIPageControl.
1. First of all
Use by including the following import:
Objective-C
#import <RCPageControl/RCPageControl.h>or if you're using the embedded framework:
@import RCPageControl;Swift
import RCPageControl2. Initialization
Using initWithFrame:
Objective-C
RCPageControl *pageControl = [RCPageControl initWithFrame:CGRectMake(0, 0, 100, 10)];Swift
let pageControl = RCPageControl(frame: CGRect(x: 0, y: 0, width: 100, height: 10))Using initWithNumberOfPages:
Objective-C
RCPageControl *pageControl = [RCPageControl initWithNumberOfPages:5];Swift
let pageControl = RCPageControl(numberOfPages: 5)3. Callback
Using UIControlEvent
Objective-C
[pageControl addTarget:self action:@selector(changePage:) forControlEvents:UIControlEventValueChanged];Swift
pageControl?.addTarget(self, action: #selector(changePage(sender:)), for: .valueChanged)Using RCCurrentPageChangedBlock
Objective-C
[pageControl setCurrentPageChangedBlock:^(RCPageControl *pageControl) {
    // Code here
}];Swift
pageControl?.currentPageChangedBlock = { (pageControl) in
    // Code here
}4. Properties
Just list new properties of RCPageControl.
- 
indicatorDotGap The distance between two dots from their edges. Default value is 10.0, cannot be smaller than2.0.
- 
indicatorDotWidth The width of dot, you may assume that the dot is likes a circle. Default value is 4.0, cannot be smaller than2.0.
- 
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.6.
- 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
License
RCPageControl is available under the MIT license. See the LICENSE file for more info.




