Contents

edudnyk/labelkit

A `UILabel` that does true animation of attributed text.

Features

Requirements

[xcode] [ios] [tvos] [mac os]

Installation >> instructions <<

Usage

You can use either LKLabel or LKLabelLayer, both support implicitly animatable text change. When the layer is hosted by LKLabel, animations of text during bounds change are more stable.

Animating text change in LKLabel can be something like this:

// Swift
self.label.superview.setNeedsLayout()
self.label.setNeedsLayout()
UIView.animate(withDuration: 3, delay: 0, options: [], animations: {
    self.label.attributedText = attributedText
    self.label.superview.layoutIfNeeded()
}, completion: nil)
// Objective-C
[self.label.superview setNeedsLayout];
[self.label setNeedsLayout];
[UIView animateWithDuration:3 delay:0 options:kNilOptions animations:^{
    self.label.attributedText = attributedText;
    [self.label.superview layoutIfNeeded];
} completion:nil];

Animating text change in LKLabelLayer can be something like this:

// Swift
CATransaction.begin()
CATransaction.setAnimationDuration(3.0)
labelLayer.attributedText = attributedText
CATransaction.commit()
// Objective-C
[CATransaction begin];
[CATransaction setAnimationDuration:3.0];
labelLayer.attributedText = attributedText;
[CATransaction commit];

Refer to the documentation for the detailed description of possibilities.

License

LabelKit is released under the Simplified BSD license. See LICENSE for details.

Package Metadata

Repository: edudnyk/labelkit

Default branch: master

README: README.md