UILabel replacement with fine-grain appear/disappear animation
UILabel-like view with easy to extend appear/disappear animation
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.
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) textBlockAttributesInit: (ZCTextBlock *) textBlock;
- (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:
- (void) textBlockAttributesInit: (ZCTextBlock *) textBlock;
- (void) appearStateLayerChangesForTextBlock: (ZCTextBlock *) textBlock;
- (void) disappearLayerStateChangesForTextBlock: (ZCTextBlock *) textBlock;
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