将UIViewController推向与之前不同的方向

时间:2011-07-14 15:32:31

标签: objective-c ios uiviewcontroller uinavigationcontroller orientation

可能是一个简单的问题,但是:

我的应用程序以纵向模式启动(并且主要是),但我有一个ViewController,我需要将其推入需要在横向模式下打开的堆栈。

我一直在搜索,发现你不能使用私有API:     [[UIDevice currentDevice] setOrientation:UIInterfaceOrientationLandscapeLeft];

我还发现了大量的“建议”解决方法(包括提供模态而不是推送,并推送ViewController的两个实例)     Transitioning to landscape rotation within a uinavigationcontroller

但是,我确信必须有一种更简单的方法来解决这个问题。如果有人知道推送到堆栈的方法(以保持通过树的导航),以这种方式使viewcontroller看起来像风景,请告诉我。

感谢所有帮助人员,

dunc

1 个答案:

答案 0 :(得分:2)

使用UINavigationController推送过渡来呈现不同方向的视图是没有意义的。导航栏/工具栏的方向是哪个?

呈现模态视图控制器是解决此问题的正确方法。如果这导致状态栏隐藏,请确保yourModalViewController.wantsFullScreenLayoutNO