# CHIPageControl
CHIPageControl is a set of cool animated page controls to replace boring UIPageControl.
We were inspired by [Jardson Almeida dribbble shot](https://dribbble.com/shots/2578447-Page-Control-Indicator-Transitions-Collection) and implemented a few more page controls.
Made with ❤️ by [Chili](http://chi.lv).
## Overview
## Requirements
* iOS 8.0+
* Xcode 8+
* Swift 3
## Installation
### Manually
Just add the `CHIPageControl` folder to your project.
### CocoaPods
use [CocoaPods](https://cocoapods.org) with Podfile:
``` ruby
pod 'CHIPageControl', '~> 0.1.3'
# individual page control
pod 'CHIPageControl/Aji'
pod 'CHIPageControl/Aleppo'
pod 'CHIPageControl/Chimayo'
pod 'CHIPageControl/Fresno'
pod 'CHIPageControl/Jalapeno'
pod 'CHIPageControl/Jaloro'
pod 'CHIPageControl/Paprika'
pod 'CHIPageControl/Puya'
```
### Carthage
use [Carthage](https://github.com/Carthage/Carthage) with Cartfile
```ogdl
github "ChiliLabs/CHIPageControl" ~> 0.1.3
```
## Usage
### 🎨 Storyboards
Just drop UIView and set its class to be one of CHIPageControls.
### 💻 Code
``` swift
let pageControl = CHIPageControlAji(frame: CGRect(x: 0, y:0, width: 100, height: 20))
pageControl.numberOfPages = 4
pageControl.radius = 4
pageControl.tintColor = .red
pageControl.currentPageTintColor = .green
pageControl.padding = 6
```
### Adding multiple tintColors
``` swift
// The size of the array needs to match the numberOfPages or it will throw an fatal error
pageControl.tintColors = [UIColor.black, UIColor.yellow, UIColor.black, UIColor.black]
// or
// If it is the first one, it will fill all colors with the selected tintColor and then replace the colors with the desired one
pageControl.insertTintColor(UIColor.yellow, position: 1)
```
### Updating progress
``` swift
//update dynamically
pageControl.progress = 0.5
//set progress with animation
pageControl.set(progress: 2, animated: true)
```
### Touch events
You can hear touch events in any of the page indicators.
``` swift
pageControl.enableTouchEvents = true
```
### Delegate
Implement the `CHIBasePageControlDelegate` to catch touch events.
```swift
func didTouch(pager: CHIBasePageControl, index: Int)
```
### Page Controls 🌶️🌶️🌶️
CHIPageControlAji
CHIPageControlAleppo
CHIPageControlChimayo
CHIPageControlFresno
CHIPageControlJalapeno
CHIPageControlJaloro
CHIPageControlPaprika
CHIPageControlPuya
## License
CHIPageControl is released under the MIT license. See [LICENSE](./LICENSE) for details.