edudnyk/labelkit
A `UILabel` that does true animation of attributed text.
Features
- [x] Documentation
- [x] Unit Test Coverage
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
documentationfor 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