深入学习iOS7自定义导航转场动画.docVIP

  • 2
  • 0
  • 约1.55万字
  • 约 11页
  • 2019-03-22 发布于湖北
  • 举报
深入学习iOS7自定义导航转场动画 这篇文章主要为大家详细介绍了iOS7自定义导航转场动画的相关资料,感兴趣的小伙伴们可以参考一下 在iOS7以前,开发者如果希望定制导航控制器推入推出视图时的转场动画,一般都只能通过子类化UINavigationController或者自己编写动画代码去覆盖相应的方法,现在iOS7为开发者带来了福音,苹果公司引入了大量新API,给予了开发者很高的自由度,在处理由UIViewController管理的UIView动画时,这些API使用方便,可扩展性也很强,定制起来非常轻松: 全新的针对UIView的动画block方法 全新的UIViewControllerAnimatedTransitioning协议以及动画控制器的概念 Interaction Controllers以及Transition Coordinators 全新的针对动画的助手API(简便方法) 全新的针对UIView的动画block方法 iOS4的发布带来了强大的block方法,在编写UIView动画时使用block可以轻松地得到满意的效果,然而有些情况下,我们还是不得不直接使用Core Animation。幸运的是,苹果公司在iOS7中增加了2个新的基于block的方法,这样我们就很少再需要直接使用Core Animation了。 1、关键帧动画 iOS7为UIView封装了一组API,让我们很容易的得到与Core Animation框架中的CAKeyframeAnimation一样的效果。 HYPERLINK /article/79412.htm ? 1 2 3 4 5 6 7 8 9 10 11 12 13 [UIView animateKeyframesWithDuration:duration delay:delay options:options animations:^{ [UIView addKeyframeWithRelativeStartTime:0.0 relativeDuration:0.5 animations:^{ //第一帧要执行的动画 }]; [UIView addKeyframeWithRelativeStartTime:0.5 relativeDuration:0.5 animations:^{ //第二帧要执行的动画 }]; } completion:^(BOOL finished) { //动画结束后执行的代码块 }]; 新引入的animateKeyframesWithDuration与CAKeyframeAnimation的关系,可以比对animateWithDuration和CABasicAnimation,我们只需要将每一帧动画加入到block方法中,并传入此段动画在全过程中的相对开始时间和执行时间(duration具体是指此段动画的执行时间占全过程的百分比)。同时,你可以在一次动画中使用多个关键帧,只需使用addKeyframe依次将所有关键帧加入动画执行栈中。 下面是一个简单的例子:在示例应用中,我使用关键帧block来退出模态视图控制器。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 [UIView addKeyframeWithRelativeStartTime:0.0 relativeDuration:0.15 animations:^{ //顺时针旋转90度 snapshot.transform = CGAffineTransformMakeRotation(M_PI * -1.5); }]; [UIView addKeyframeWithRelativeStartTime:0.15 relativeDuration:0.10 animations:^{ //180度 snapshot.transform = CGAffineTransformMakeRotation(M_PI * 1.0); }]; [UIView addKeyframeWithRelativeStartTime:0.25 relativeDuration:0.20 animations:^{ //摆过中点,225度 snapshot.transform = CGAffineTransformMakeRotation(M_PI * 1.3); }]; [UIView addKeyframeWithRelativeStartTime:0.45 relativeDuration:0.20 an

文档评论(0)

1亿VIP精品文档

相关文档