IncrementableLabel
  • November 24, 2023

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

GitHub


View Github

#ios #swift #tvos #uilabel
YOU MIGHT ALSO LIKE...
PermissionsSwiftUI: A SwiftUI package to handle permissions

PermissionsSwiftUI displays and handles permissions in SwiftUI. It is largely inspired by SPPermissions. The UI is highly customizable and resembles an Apple style. ...

Pager tab strip view

Introduction PagerTabStripView is the first pager view built in pure SwiftUI. It provides a component to create interactive pager views ...

PageView

SwiftUI view enabling page-based navigation, imitating the behaviour of UIPageViewController in iOS.

Pages

    

How to take action when a property changes

1. Taking Action When a Property Changes: Property Observers Swift lets you observe and respond to changes in a property’s ...