Skip to content

tbaranes/IncrementableLabel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Feb 21, 2020
d982e49 · Feb 21, 2020

History

78 Commits
Mar 27, 2019
Jul 17, 2018
Mar 27, 2019
Jan 11, 2019
Jan 20, 2016
May 7, 2016
Sep 18, 2018
Nov 28, 2017
Mar 27, 2019
Mar 27, 2019
Mar 27, 2019
Jan 20, 2016
Feb 19, 2020
Mar 27, 2019

Repository files navigation

IncrementableLabel

Travis Language CocoaPods Platform License

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

Licence

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