Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tbxark/tkrubberindicator
A rubber animation pagecontrol
https://github.com/tbxark/tkrubberindicator
carthage cocoapods coreanimation ios ios-animation page-control swift ui uikit
Last synced: 1 day ago
JSON representation
A rubber animation pagecontrol
- Host: GitHub
- URL: https://github.com/tbxark/tkrubberindicator
- Owner: TBXark
- License: mit
- Created: 2015-10-28T02:14:22.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2023-02-17T05:43:17.000Z (almost 2 years ago)
- Last Synced: 2024-04-24T18:58:21.658Z (8 months ago)
- Topics: carthage, cocoapods, coreanimation, ios, ios-animation, page-control, swift, ui, uikit
- Language: Swift
- Homepage:
- Size: 958 KB
- Stars: 1,422
- Watchers: 40
- Forks: 171
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# TKRubberIndicator
> A rubber animation pagecontrol![Xcode 9.0+](https://img.shields.io/badge/Xcode-9.0%2B-blue.svg)
![iOS 8.0+](https://img.shields.io/badge/iOS-8.0%2B-blue.svg)
![Swift 4.0+](https://img.shields.io/badge/Swift-4.0%2B-orange.svg)
[![Build Status](https://travis-ci.org/TBXark/TKRubberIndicator.svg?branch=master)](https://travis-ci.org/TBXark/TKRubberIndicator)
[![CocoaPods](http://img.shields.io/cocoapods/v/TKRubberPageControl.svg?style=flat)](http://cocoapods.org/?q=TKRubberPageControl)
[![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage)
[![License MIT](https://img.shields.io/badge/license-MIT-green.svg?style=flat)](https://raw.githubusercontent.com/TBXark/TKRubberIndicator/master/LICENSE)![](/Example/demo.gif)
## Requirements
- Swift 4.0
- iOS 8.0+
- Xcode 9.0## Installation
#### CocoaPods
You can use [CocoaPods](http://cocoapods.org/) to install `TKRubberPageControl` by adding it to your `Podfile`:```ruby
platform :ios, '8.0'
use_frameworks!
pod 'TKRubberPageControl'
```To get the full benefits import `TKRubberPageControl` wherever you import UIKit
``` swift
import UIKit
import TKRubberPageControl
```
#### Carthage
Create a `Cartfile` that lists the framework and run `carthage update`. Follow the [instructions](https://github.com/Carthage/Carthage#if-youre-building-for-ios) to add `$(SRCROOT)/Carthage/Build/iOS/TKRubberPageControl.framework` to an iOS project.```
github "tbxark/TKRubberIndicator"
```
#### Manually
1. Download and drop ```TKRubberPageControl.swift``` in your project.
2. Congratulations!## Usage example
You can use closure or Target-Action to listen control event
```swift
class ViewController: UIViewController {let page = TKRubberIndicator(frame: CGRectMake(100, 100, 200, 100), count: 6)
override func viewDidLoad() {
super.viewDidLoad()self.view.backgroundColor = UIColor(red:0.553, green:0.376, blue:0.549, alpha:1)
page.center = self.view.center
page.valueChange = {(num) -> Void in
print("Closure : Page is \(num)")
}
page.addTarget(self, action: "targetActionValueChange:", forControlEvents: UIControlEvents.ValueChanged)
self.view.addSubview(page)page.numberOfpage = 2
}@IBAction func pageCountChange(sender: UISegmentedControl) {
page.numberOfpage = (sender.selectedSegmentIndex + 1) * 2
}
func targetActionValueChange(page:TKRubberIndicator){
print("Target-Action : Page is \(page.currentIndex)")
}override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}```
### Base
|Key | Usage| |
|---|---|---|
|smallBubbleSize|未选中小球尺寸|unselect small ball size|
|mainBubbleSize|选中大球尺寸|select big ball size|
|bubbleXOffsetSpace|小球间距|The distance between the ball|
|bubbleYOffsetSpace|纵向间距|bubble Y Offset Space|
|animationDuration|动画时长|animation duration|
|backgroundColor|背景颜色|control background color|
|smallBubbleColor|小球颜色|unselect small ball color|
|mainBubbleColor|大球颜色|select big ball color|## Release History
* 1.4.0
Swift 4.0* 1.3.1
Bug Fixed* 1.3.0
Support Swift 3.0* 1.0.5
Fix bug, add Cocoapod and Carthage support* 1.0.4
Complete basic functions## Contribute
We would love for you to contribute to **TKRubberPageControl**, check the ``LICENSE`` file for more info.
## Meta
TBXark – [@tbxark](https://twitter.com/tbxark) – [email protected]
Distributed under the MIT license. See ``LICENSE`` for more information.
[https://github.com/TBXark](https://github.com/TBXark)
[swift-image]:https://img.shields.io/badge/swift-3.0-orange.svg
[swift-url]: https://swift.org/
[license-image]: https://img.shields.io/badge/License-MIT-blue.svg
[license-url]: LICENSE
[travis-image]: https://img.shields.io/travis/dbader/node-datadog-metrics/master.svg?style=flat-square
[travis-url]: https://travis-ci.org/dbader/node-datadog-metrics
[codebeat-image]: https://codebeat.co/badges/c19b47ea-2f9d-45df-8458-b2d952fe9dad
[codebeat-url]: https://codebeat.co/projects/github-com-vsouza-awesomeios-com