iOS 自定义转场动画

自定义转场动画使我们所需要的,是为了更加体现APP的绚丽和增加用户对产品的好奇,甚至是那么点点的使用率。

不管是为了什么,今天写一下在present/dismiss/push/pop的时候转场动画。

首先建立一个NavigationController,两个按钮present和push

present按钮present出PresentViewController


Present


在PresentViewController中建立一个dismiss按钮dismiss

让NavigationController的rootViewController遵循UIViewControllerTransitioningDelegate

并且实现

你可以点击UIViewControllerTransitioningDelegate去看她的很多代理方法

哎呀,出错了,必须返回一个东西。

接下来我们新建一个类CustomPresentAnimation继承NSObject并且遵循UIViewControllerAnimatedTransitioning

UIViewControllerAnimatedTransitioning有两个代理必须实现

这连个代理必须实现

然后在这个方法里面写上你要的动画就可以了

iOS 自定义转场动画_第1张图片
代码展示

我们找到NavigationController的rootViewController引入CustomPresentAnimation并初始化返回

运行代码是不是你想要的呢。。。你可以写更好看的动画哦,比如圆形扩散,scale等。。。

当人dismissed也是可以这样做哦

这是代理方法dismissed

Push / Pop


我们NavigationController的rootViewController里面的Push按钮push出PushViewController

并且遵循UINavigationControllerDelegate别忘记设置代理哦


NavigationController代理方法

return写好的UIViewControllerAnimatedTransitioning运行程序,是不是很酷。。。

好了大功告成了。当然你要是用的是SB的话在记得prepareForSegue这个方法哦。

是不是很简单。

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