A drop-in UILabel replacement that makes almost all properties animatable by using a CATextLayer instead of CALayer.
Objective-C Ruby
Switch branches/tags
Nothing to show
Latest commit 7bdad71 Dec 5, 2012 Adam Moving to ARC
Moved the project to support ARC.

Small change to the README file (explaining how to add frameworks)

README.mdown

AUIAnimatableText

AUIAnimatableText is a drop-in UILabel replacement that uses CATextLayer instead of the regular CALayer, and thus making almost all the properties animatable.

Properties animatable in AUIAnimatableText and not in UILabel

  1. textColor
  2. text
  3. font
  4. fontSize

Adding AUIAnimatableText to your project

  1. Add AUIAnimatableText.h+m and UIFont+CoreTextExtensions.h+m to your project
  2. Link your project with CoreText.framework and QuartzCore.framework (In your project's settings, go to "Build Phases" and there to "Link Binary With Libraries")
  3. Change the class of your labels from UILabel to AUIAnimatableText in code or in interface builder
  4. That's it.

After doing the above steps you can simply change the label's properties inside a UIView animation block and they will change animated.

To get the duration to work properly it looks like you need to use:

[CATransaction begin];
[CATransaction setValue:[NSNumber numberWithFloat:0.7f] forKey:kCATransactionAnimationDuration];
{...new layout code here...}
[CATransaction commit];

(I'm not sure if CATransaction supports block-style animation, this is just what I've found out so far.