4

我有一个 UIViewController A,它在 UIButton 操作上打开另一个模态 UIViewController B。

我的问题是:当当前模式 UIViewController B 打开并旋转时 - 以前的 UIViewController A 根本不旋转。这意味着当我关闭 UIViewController B - UIViewController A 仍处于旧状态(仍然具有旧界面方向)。目前,我通过在 B 旋转时调用 A 中的方法来强制 A 旋转。

是否有另一种常见的方法来通知其他视图控制器旋转?或者什么是正确的方法?

4

3 回答 3

2

如果您使用的是 iOS 6,那么您拥有 (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation. 然后,您只需要返回超级视图的设备方向。

编辑:如果你覆盖 iOS 5,你也可以检查这个

于 2012-12-21T09:51:15.297 回答
0

我自己在轮换方面遇到了很多问题。已经为除根视图之外的所有视图找到了第一个视图的解决方案。

请参阅:从第一个视图(飞溅)到第一个 viewController 的旋转问题

这实际上只是设备方向更改的通知。“libraryTableBorder”特定于我的应用程序。将“if”和“else”中的代码替换为适合您的应用程序的代码。

于 2013-01-23T14:31:02.693 回答
0

如果您的模态视图的演示样式设置为当前上下文,它应该旋转视图控制器 A。我遇到了问题但无法弄清楚为什么,界面生成器中的设置似乎覆盖了代码中设置的设置。

试试看,你可以明显改变过渡风格

IB 模态视图控制器设置

于 2014-03-25T16:21:23.403 回答