iOS自定义转场动画

最近由于工作不是很忙,就想着解决一下ios开发中的知识盲点 ,于是看到了ios的自定的转场动画。在看了一写其他人写的教程和demo,决定自己的写关于这方面的总结教程。

要实现自定义转场动画的的步骤

第一步:创建一个遵循UIViewControllerAnimatedTransitioning代理协议的对象

知识扩展:苹果提供的自定义转场动画api 是通过几个代理协议实现的。

协议中又两个方法用来控制转场动画的时间和逻辑
1、控制转场动画的时间

- (NSTimeInterval)transitionDuration:(id)transitionContext{
    return 0.5;
}

2、控制转场动画的逻辑和执行过程

可以通过其中带的transitionContext(遵循UIViewControllerContextTransitioning协议)中获取我们在制作转场动画的一些参数

- (void)animateTransition:(id)transitionContext{
 }

第二步 使用转场动画对象

根据需要转场的类型不同让控制器遵循不同的代理协议,同样实现不同的代理方法

1、UINavigationControllerDelegate 自定义navigationController转场动画的时候
2、UITabBarControllerDelegate 自定义tabbarController转场动画的时候
3、UIViewControllerTransitioningDelegate 自定义present/dismiss的时候

参考文章:iOS 自定义转场动画的那些事
未完待续...............

你可能感兴趣的:(iOS自定义转场动画)