Configurable morphing transitions between text values of a label.
Triggering the animation is as easy as setting the labels text
property.
TOMSMorphingLabel is available through CocoaPods. To install it, simply add the following line to your Podfile:
platform :ios, '7.0'
pod "TOMSMorphingLabel", "~> 0.1.0"
Instantiate TOMSMorphingLabel as you would do with an UILabel results in a fully working thus morphing label.
var label = TOMSMorphingLabel(frame: CGRect(x: 0, y: 42, width: self.view.frame.size.width, height: 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.
TOMSMorphingLabel provides the possibility to configure the morphing transitions look and feel. The configureable properties are defined as follows:
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 |
TOMSMorphingLabel is available under the MIT license. See the LICENSE file for more info.