最近由于工作不是很忙,就想着解决一下ios开发中的知识盲点 ,于是看到了ios的自定的转场动画。在看了一写其他人写的教程和demo,决定自己的写关于这方面的总结教程。
要实现自定义转场动画的的步骤
第一步:创建一个遵循UIViewControllerAnimatedTransitioning代理协议的对象
知识扩展:苹果提供的自定义转场动画api 是通过几个代理协议实现的。
协议中又两个方法用来控制转场动画的时间和逻辑
1、控制转场动画的时间
- (NSTimeInterval)transitionDuration:(id<UIViewControllerContextTransitioning>)transitionContext{
return 0.5;
}
2、控制转场动画的逻辑和执行过程
可以通过其中带的transitionContext(遵循UIViewControllerContextTransitioning协议)中获取我们在制作转场动画的一些参数
- (void)animateTransition:(id<UIViewControllerContextTransitioning>)transitionContext{
}
第二步 使用转场动画对象
根据需要转场的类型不同让控制器遵循不同的代理协议,同样实现不同的代理方法
1、UINavigationControllerDelegate 自定义navigationController转场动画的时候
2、UITabBarControllerDelegate 自定义tabbarController转场动画的时候
3、UIViewControllerTransitioningDelegate 自定义present/dismiss的时候
参考文章:iOS 自定义转场动画的那些事
未完待续...............