Jazz Hand是一个简单的基于keyframe的UIKit动画框架。动画可以通过手势,scrollviews,Kvo或者ReactiveCocoa控制。
IFTTT for iPhone这个应用使用了Jazz Hands。如下图:
安装
复制附件相关内容到project即可安装。
快速开始
首先,将JazzHands添加到UIViewController中。
import "IFTTTJazzHands.h"
现在,创建一个Animator来管理这个UIViewController中的所有动画
@property (nonatomic, strong) IFTTTAnimator *animator;
...
self.animator = [IFTTTAnimator new];
给你希望动画化的view创建一个动画。有多种类型的动画可以选择。
例如,我们可以使用IFTTFTFrameAnimation,它可以移动然后让view变化尺寸
IFTTTFrameAnimation *frameAnimation = [IFTTTFrameAnimation new];
frameAnimation.view = viewThatYouWantToAnimate;
将这个动画在animator上注册
[self.animator addAnimation:frameAnimation];
然后给这个动画增加一些keyframes。让我们把这个view向左移动140个像素,然后将尺寸加大一倍,time在30到60之间
[frameAnimation addKeyFrame:[[IFTTTAnimationKeyFrame alloc] initWithTime:30 andFrame:CGRectMake(10, 10, 100, 100)]];
[frameAnimation addKeyFrame:[[IFTTTAnimationKeyFrame alloc] initWithTime:60 andFrame:CGRectMake(150, 10, 200, 200)]];
现在,告诉animator动画的时间。比如说,将这个动画和一个UIScrollView绑定。在scroller的委托方法中通知animator时间。
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
[self.animator animate:scrollView.contentOffset.x];
}
更多的用法请查看附件中的README.md文件或者访问
https://github.com/IFTTT/JazzHands