A drop-in UILabel replacement that makes almost all properties animatable by using a CATextLayer instead of CALayer.
Pull request Compare This branch is 3 commits behind adam-siton:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



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. Change the class of your labels from UILabel to AUIAnimatableText in code or in interface builder
  3. 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.