【发布时间】:2010-09-27 20:17:08
【问题描述】:
我正在开发一个通用的 iPhone/iPad 应用程序。我正在使用 MonoTouch,但我可以在 Obj-C 中获取答案(我应该能够破译它,而且 MonoTouch 的 UIKit 大部分是 1 比 1)。
基本上我的应用有 2 个视图:一个“登录”视图和一个“登录”视图。
在应用启动时,我的登录视图是主 UIWindow 的唯一子视图。登录后,我在登录视图和 UIWindow.AddSubView 上调用 RemoveFromSuperview 来添加登录视图。所有这些都很好用,而且方向也很有效,我回复了 ShouldAutorotateToInterfaceOrientation。
在您注销之前,所有方向都开始上升。在定向时,该应用程序会定向状态栏,但不会影响我的视图。最重要的是,在 iPad 上,我的 UISplitView 的行为非常奇怪,我的主视图以一种方式面向,而细节视图则以另一种方式。
在 UIWindow 中切换视图的正确方法是什么?我觉得方向应该自动工作,因此我做错了。
更新:
这是一个代码 sn-p(在 C# 中,但你明白了):
_loginController.View.RemoveFromSuperView();
_window.AddSubView(_loggedInController.View);
反过来:
_loggedInController.View.RemoveFromSuperView();
_window.AddSubView(_loginController.View);
相当简单,对吧?
更新 2:
我做了一个简单的复制——甚至包括一个 UISplitViewController,它工作得很好。
我的应用程序中一定有特定的东西导致了这种奇怪的行为。
【问题讨论】:
标签: iphone objective-c orientation xamarin.ios