【发布时间】:2011-01-14 16:09:06
【问题描述】:
我必须自定义 2 个不同 UIViewController 之间的转换,为此我想重新实现 [UIViewController presentModalViewController...]。这个函数里面是什么?它是如何工作的?它有什么作用?
非常感谢, 万斯
【问题讨论】:
标签: iphone ios animation uiviewcontroller core-animation
我必须自定义 2 个不同 UIViewController 之间的转换,为此我想重新实现 [UIViewController presentModalViewController...]。这个函数里面是什么?它是如何工作的?它有什么作用?
非常感谢, 万斯
【问题讨论】:
标签: iphone ios animation uiviewcontroller core-animation
-[UIViewController presentModalViewController:animated:] 在幕后施展魔法。
对于我的应用程序 Tweet Note,我想通过从架子中视图的背面为新视图设置动画来呈现模态视图控制器。 iBooks 或多或少是做什么的。我试图覆盖默认实现,但最终在一个多步骤的解决方案中完成,没有丑陋的黑客和警告:
[self presentModalViewController:vc animated:NO]。最后一步很重要!在您的过渡动画完成后,模态视图控制器正常呈现,但没有动画,并且会向用户显示,就像您进行了正确的动画演示一样。
使用您的自定义过渡解除或多或少是在做同样的事情,但顺序相反。
【讨论】:
presentModalViewController:animated: 实现的工作原理。您不需要实例化两次,只需将托管视图添加到 windows 视图层次结构两次(但 UIKit 也是如此)。如果新视图控制器的 UI 在转换的时间跨度内大幅更新,您将在布局中获得 跳转。但是这并没有新的问题,这对于 UIKit 提供的内置转换同样适用。