我必须自定义 2 个不同的 UIViewController 之间的转换,为此我想重新实现 [UIViewController presentModalViewController...]。这个函数里面有什么?它是如何工作的?它有什么作用?
非常感谢, 万斯
最佳答案
-[UIViewController presentModalViewController:animated:]
在幕后施展魔法。
对于我的应用程序 Tweet Note,我想通过从架子中 View 的背面动画化新 View 来呈现模态视图 Controller 。或多或少是 iBooks 的功能。我试图覆盖默认实现,但最终在一个多步骤解决方案中完成了它,该解决方案没有丑陋的黑客攻击和警告:
- 实例化新的 View Controller 。
- 将转换应用于新 View Controller 的托管 View ,以便它从初始位置开始。¨
- 开始将 View 动画化到未转换的“正常”位置。
- 等待动画结束,作为一个单元做:
- 从屏幕上删除您刚刚制作动画的 View 。
- 调用
[self presentModalViewController:vc animated:NO]
。
最后一步很重要!在您的过渡动画完成后,模态视图 Controller 正常呈现,但没有动画,并且对用户来说就像您进行了适当的动画演示一样。
关闭您的自定义过渡或多或少是做同样的事情,但顺序相反。
关于iphone - 你将如何实现 [UIViewController presentModalViewController]?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4693095/