IncrementableLabel
IncrementableLabel is the easiest way to have incrementable numbers in an UILabel!
Usage
let myIncrementableLabel = IncrementableLabel(frame: CGRect(x: 0, y: 0, width: 100, height: 50))
myIncrementableLabel.incrementFromValue(0, toValue: 100, duration: 1)
Check the sample project for advanced usage
Installation
- iOS 8.0+
- tvOS 9.0+
CocoaPods Installation
IncrementableLabel is available on CocoaPods. Just add the following to your Podfile:
pod 'IncrementableLabel'
Swift Package Manager
IncrementableLabel is available on SPM. Just add the following to your Package file:
import PackageDescription
let package = Package(
dependencies: [
.Package(url: "https://github.com/recisio/IncrementableLabel.git", majorVersion: 1)
]
)
Manual Installation
Just drag the Source/*.swift
files into your project.
IncrementableLabel properties
var option: IncrementableLabelOptions = .linear
An options indicating how you want to perform the incrementation:
- linear
- easeIn
- easeOut
- easeInOut
typealias StringFormatter = (Float) -> String
var stringFormatter: StringFormatter?
typealias AttributedTextFormatter = (Float) -> NSAttributedString
var attributedTextFormatter: AttributedTextFormatter?
A callback closure which permits a greater control on how the text (attributed or not) is formatted between each incrementation.
var easingRate: Float = 3.0
The rate used when an option
is used.
var format: String = "%d"
The format is used to set the text in the label. You can set the format to %f
in order to display decimals.
public var currentValue: Double
The label's value during the incrementation
IncrementableLabel methods
func increment(fromValue: Float, toValue: Float, duration: Float = 0.3, fromColor: UIColor? = nil, toColor: UIColor? = nil, completion: IncrementableLabelCompletion? = nil)
Starts the incrementation fromValue
to toValue
, and the text color changes from fromColor
to toColor
. The duration by default will be 0.3
func incrementFromCurrentValue(toValue: Float, duration: Float = 0.3, fromColor: UIColor? = nil, toColor: UIColor? = nil, completion: IncrementableLabelCompletion? = nil)
Starts the incrementation from the current value to toValue
. The duration by default will be 0.3
func incrementFromZero(toValue: Float, duration: Float = 0.3, fromColor: UIColor? = nil, toColor: UIColor? = nil, completion: IncrementableLabelCompletion? = nil)
Starts the incrementation from zero to toValue
. The duration by default will be 0.3
What's next
- Any suggestions?
Contribution
- If you found a bug, open an issue
- If you have a feature request, open an issue
- If you want to contribute, submit a pull request