So what with animation becoming more of a thing in the brave new flat interface world, it behooves us to know a little more about it than we’ve probably bothered to so far, and there’s a really great read on it here (h/t: iOSDevWeekly):
There is a protocol called CAMediaTiming which is implemented by CAAnimation, the base class of CABasicAnimation and CAKeyframeAnimation. It is where all the timing related properties – like duration, beginTime and repeatCount – come from. All in all the protocol defines eight properties that can be combines in a number of ways to precisely control timing. The documentation is only a few sentences per property so you could probably read it all and the actual header way faster than this article but I feel that timing is better explained with visualizations…
If you like the SpriteKit action paradigm, and wish Core Animation had something like it, why look here (h/t: @romainbriche):
CodaFi / CFAAction — Core Animation Actions in the key of SK
CFAAction is a wrapper around several common Core Animation animations that provides additional modularity and the ability to group and sequence actions.
CFAAction’s should be treated like SKAction’s, which means they are only run when they are submitted to a variant of -[CALayer runAction:]….
And if you want some really easy keyframed animation, check out (h/t: iOSDevWeekly):
IFTTT / JazzHands – A simple, keyframe based animation framework for UIKit.
Jazz Hands is a simple, keyframe based animation framework for UIKit. Animations can be controlled via gestures, scroll views, kvo, or ReactiveCocoa…
Currently, Jazz Hands supports three types of animations:
- IFTTTFrameAnimation moves and sizes views.
- IFTTTAlphaAnimation creates fade effects.
- IFTTTHideAnimation hides and shows views.
And don’t forget our Grab Bag: Graphic Tweaks post for other stuff along these lines we noted over this last year, a good bit of it is still at least somewhat relevant.