I started implementing this class as part of one of the demos in the CoreAnimation class I gave in Madrid on July 2012 (http://www.youtube.com/watch?v=54ESi6snSfI). I decided to finish it and create a sample project with it.
NSBKeyframeAnimation allows you to create jQuery-like animations with a high level interface in a similar way as you would do with
-[UIView animateWithDuration:delay:options:animations:completion:], but with any kind of function. You can animate any keypath between two values (for now they have to be scalar but I'll add support for any
NSBKeyframeAnimation *animation = [NSBKeyframeAnimation animationWithKeyPath:@"position.x" duration:5 startValue:0 endValue:1000 function:NSBKeyframeAnimationFunctionEaseInOutCubic]; [view.layer setValue:animation.values.lastObject forKeyPath:@"position.x"]; [view.layer addAnimation:animation forKey:@"position.x"];
transformkeypath and create really cool effects.
git submodule add https://github.com/NachoSoto/NSBKeyframeAnimation Dependencies/NSBKeyframeAnimation
Dependencies/NSBKeyframeAnimation/Classes/NSBKeyframeAnimationfiles to your project.
QuartzCore.frameworkto project libraries.
NSBKeyframeAnimation is available under the MIT license. See the LICENSE file for more info.