Incrementable UILabel for iOS and tvOS
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
IncrementableLabel Example
IncrementableLabel.xcworkspace Update Incrementable.swift to be compatible with Swift 4.2 Jul 17, 2018
IncrementableLabel Swift 4.2 and Xcode 10 support Sep 18, 2018
Source
assets
.gitignore Update gitignore May 7, 2016
.swift-version
.swiftlint.yml Updating .swiftlint.yml Nov 28, 2017
.travis.yml Swift 4.2 and Xcode 10 support Sep 18, 2018
CHANGELOG.md Bump version Sep 18, 2018
IncrementableLabel.podspec Bump version Sep 18, 2018
LICENSE first commit Jan 20, 2016
Package.swift first commit Jan 20, 2016
README.md Swift 4.2 and Xcode 10 support Sep 18, 2018

README.md

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, completion: IncrementableLabelCompletion? = nil)

Starts the incrementation fromValue to toValue. The duration by default will be 0.3

func incrementFromCurrentValue(toValue: Float, duration: Float = 0.3, 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, 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.