【发布时间】:2014-12-21 13:33:17
【问题描述】:
我一直在关注一些教程来创建自定义动画,同时从一个视图过渡到另一个视图。
我的测试项目使用来自here 的自定义segue 工作正常,但有人告诉我不再鼓励在自定义segue 中进行自定义动画,我应该使用UIViewControllerAnimatedTransitioning。
我遵循了几个使用此协议的教程,但它们都是关于模态表示的(例如this tutorial)。
我正在尝试做的是导航控制器树中的推送转场,但是当我尝试使用显示(推)转场做同样的事情时,它不再起作用了。
请告诉我在导航控制器中自定义从一个视图到另一个视图的过渡动画的正确方法。
我是否可以对所有过渡动画使用一种方法?如果有一天我想做同样的动画,但最终不得不复制两次代码来处理模态与控制器的转换,那会很尴尬。
【问题讨论】:
-
@Rob Urgh 如果这听起来很愚蠢,我很抱歉,但是如何让我的视图控制器成为导航控制器的代表?我似乎无法将它们绑定到情节提要上,并且我的 'navigationController:animationControllerForOperation: fromViewController:toViewController:' 永远不会被调用。
-
您可以在
viewDidLoad中执行self.navigationController.delegate = self;。除非您还在@interface行中指定您的视图控制器符合<UINavigationControllerDelegate>协议,否则您可能会收到警告。 -
此代码是 swift 4 用于循环过渡。 stackoverflow.com/a/49321985/8334818
标签: ios cocoa-touch custom-transition