krishaamer / TOMSMorphingLabel

Configurable morphing transitions between text values of a label.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

TOMSMorphingLabel

Configurable morphing transitions between text values of a label. Triggering the animation is as easy as setting the labels text property.

Demo

Screen1

Installation with CocoaPods

TOMSMorphingLabel is available through CocoaPods. To install it, simply add the following line to your Podfile:

Podfile

platform :ios, '7.0'
pod "TOMSMorphingLabel", "~> 0.2.0"

Usage

Instantiate TOMSMorphingLabel as you would do with an UILabel results in a fully working thus morphing label.

TOMSMorphingLabel *label = [[TOMSMorphingLabel alloc] initWithFrame:CGRectMake(0, 42, self.view.frame.size.width, 42)];
[self.view addSubview:label];

Setting - and particularly changing - the labels text property will automatically morph the labels previous text to the new value.

label.text = @"Swift";

Note that the label will execute only one morph transition at a time. If the text value of the label changes during a transition - even if it changes multiple times - the label will invoke a transition to the youngest text value that was set.

Customization

TOMSMorphingLabel provides the possibility to configure the morphing transitions look and feel. The configureable properties are defined as follows:

configureable properties
animationDuration: CGFloat Time that elapses between the setting of a new text value and the end of the morphing transition. Default: 0.37
characterAnimationOffset: CGFloat Spatial propagation speed of the character shrink and alpha effect.. Default: 0.25
characterShrinkFactor: CGFloat Factor that the scale of a completely disappeared character is divided by. Default: 4

Changelog

0.2.0

  • added unicode support

0.1.0

  • initial version

Author

Tom König @TomKnig

License

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

About

Configurable morphing transitions between text values of a label.

License:MIT License