好久不用的东西,复习一下,先写一下转场动画吧O(∩_∩)O
直接开始,这篇博客分三部分,第一部分记述自定义modal动画,第二部记述自定义push动画,第三部分记一下常见动画的实现.
modal动画
下面简要写一下以modal的形式实现系统的push动画
主要步骤:
新建两个view controller,记做FromVC,ToVC;
在FromVC中,实现presentViewController:animated:completion
,ToVC对象设置toVC.transitioningDelegate = self;
,fromVC遵守协议UIViewControllerTransitioningDelegate
;
看一下UIViewControllerTransitioningDelegate
, 通过文档可以看到, UIViewControllerTransitioningDelegate
主要要实现前两个方法来获取present和dismiss的动画对象
|
|
而动画对象需要遵守UIViewControllerAnimatedTransitioning
协议,看一下这个协议需要实现的方法:第一个方法返回的是动画执行的时间,第二个方法则是用于处理动画效果;
|
|
首先实现present动画,新建一个DHPresentAnimation
类,继承自NSObject
,并且实现UIViewControllerAnimatedTransitioning
中的两个方法,代码如下:
|
|
在FromVC
中,实现UIViewControllerTransitioningDelegate
协议方法
|
|
同理,实现dismiss动画,实现FromVC
遵循协议中的另一个方法:
dismiss动画
|
|
协议方法:
|
|
最后command + R
运行.
push动画
待续
常见动画的实现
待续