【问题标题】:iOS Rotate View Controller when Modal View Controller rotates模态视图控制器旋转时iOS旋转视图控制器
【发布时间】:2012-12-21 09:33:27
【问题描述】:

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

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

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

【问题讨论】:

    标签: ios rotation modalviewcontroller


    【解决方案1】:

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

    编辑:如果您涉及 iOS 5,您还可以查看this

    【讨论】:

      【解决方案2】:

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

      见:Rotation issue from the first view (splash) to first viewController

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

      【讨论】:

        【解决方案3】:

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

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

        【讨论】: