You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
UILabel-like view with easy to extend appear/disappear animation
Features
Rich text support (with NSAttributedString)
Group aniamtion by character/word/line
Customizable animation start delay for each text block
Great performance, only changed area is redrawn
Optional layer-based implementation
3D/Geometry transform support (layer based only)
iOS 5+ compatibility
Demo
Default
Fall
Duang/Spring
Flyin
Focus
Shapeshift
Reveal
Thrown
Transparency
Spin
Dash
More to come
How to use
ZCAnimatedLabel is available via CocoaPods. If you don't need all the effect subclasses, simply drag ZCAnimatedLabel.(h|m), ZCCoreTextLayout.(h|m) and ZCEasingUtil.(h|m) into your project and start customizing your own.
Subclassing
ZCAnimatedLabel has two modes: non-layer based and layer based. In the first mode, ZCAnimatedLabel is a flat UIView, every stage of animation is drawn using Core Graphics, you can customize redraw area for your animation for better performance. Following methods can be overriden:
- (void) appearStateDrawingForRect: (CGRect) rect textBlock: (ZCTextBlock *) textBlock;
- (void) disappearStateDrawingForRect: (CGRect) rect textBlock: (ZCTextBlock *) textBlock;
- (CGRect) redrawAreaForRect: (CGRect) rect textBlock: (ZCTextBlock *) textBlock;
Second option is layer based, where each text block is a simple CALayer, 3D tranform is possible in this mode by setting layer's transform property, if redraw area is bigger and not too many text blocks, this can achive a performance gain. Set self.layerBased to YES and override following methods for customization:
Merge CALayers no longer animating into a single backing store and reuse CALayer for animating layers. (Even better performance for layerBased implementation)
More Effects, possily glyph related ones
Use core animation emmiter
Thanks to
LTMorhpingLabel for heavy inspiration. If you like ZCAnimatedLabel, you should definitely this one out.
AGGeometryKit for arbitrary shape 3D transform code piece used in ZCDashLabel
About
UILabel replacement with fine-grain appear/disappear animation