Segues和UIViewControllerAnimatedTransitioning的区别

3

在搜索如何在从一个控制器过度到另一个控制器时执行自定义动画时,我发现了一些关于UIViewControllerAnimatedTransitioning的信息。

所以问题是:如果我们有自定义segue,为什么还需要这个呢?它们是否可互换?如果是的话,为什么苹果提供两种执行相同任务的方法?

1个回答

3

一些不同之处:

  • 转场只能与storyboard一起使用。
  • 动画对象可以在编程中使用,也可以与转场一起使用。
  • 动画对象允许您为新的视图控制器设置自定义的最终位置和大小。
  • 动画对象可以配置为在导航控制器和集合视图中执行特殊动画。
  • 动画对象还允许使用UIViewControllerInteractiveTransitioning进行交互式转换,而转场则不支持此功能。

谢谢您的回答。但是,在Storyboard中在控制器之间有一个segue,然后在代码中为这两个控制器配置自定义转换是否可以?如果可以,请指向相关教程或一些苹果文章,因为我只找到了关于其中一件事情的教程。 - hasrthur
2
你可以随心所欲地做任何事情! :) http://www.objc.io/issue-5/view-controller-transitions.html 结合了segues和animator对象。而http://www.albertopasca.it/whiletrue/2013/10/objectivec-uistoryboard-custom-transition/则通过子类化`UIStoryboardSegue`来创建自定义动画。 - Aaron Brager
据我理解,segues只是故事板中转换的可视化表示,并且如果程序员没有实现所需的协议,它们只会使用默认的动画控制器。而如果我实现了这些协议,那么当我编写performSegueWithIdentifier("PushToDetaildSegue", sender: self)时,它将使用我提供的动画器? - hasrthur

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接