【发布时间】:2010-10-21 16:51:59
【问题描述】:
我正在开发双 iPad/iPhone 应用程序。
我遇到的问题仅发生在 iPad 上:
- 根视图控制器在 iPad 上是 UISplitViewController,在 iPhone 上是 UITabBarController
- 模态 UIViewController 可以出现在根控制器上
- 模态 UIViewController 可以出现在之前的模态控制器之上
- 在 iPad 上,模态控制器使用 UIModalPresentationStyle.PageSheet
一切正常,除了从 iPad 上解除最顶层的模态控制器——该方法被调用,但模态视图控制器没有解除。我通过从前一个模态控制器调用 DismissModalViewControllerAnimated 来解散。
任何想法为什么这不能在 iPad 上工作?
在所有情况下,我都会从父控制器调用 PresentModalViewController 和 DismissModalViewControllerAnimated 来工作其子模态控制器。
我正在使用 MonoTouch(您可以通过我的方法外壳判断),但这可能无关紧要。我也可以在 Obj-C 中得到答案。
更新,以下内容可能会使它应该做什么更清楚:
- 根 => 模态 A => 模态 B
- 关闭模式 B 应该只是返回 到模态A
- 关闭模态 A 应该返回 到根
【问题讨论】:
-
我注意到一件微妙的事情,在 iPad 上,ViewDidAppear 永远不会在第二个模式上触发。对于 iPhone,它可以很好地触发......想知道 iPad 版本的应用程序会发生什么。
-
刚刚制作了一个快速复制应用程序,并在 iPad 上使用作为 UISplitViewController 的根控制器执行 2 个模态,它工作得很好。我的应用程序中一定有什么东西破坏了它。
标签: iphone objective-c ipad xamarin.ios modalviewcontroller