iOS在模态视图控制器旋转时旋转视图控制器

我有一个UIViewController A在UIButton操作上打开另一个模式UIViewController B.

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

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

如果你使用iOS 6,那么你有(UIInterfaceOrientation)preferredInterfaceOrientationForPresentation 。 然后,你只需要返回superview的设备方向。

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

我自己在轮换时遇到了很多问题。 find了所有的解决scheme,除了根视图第一次查看。

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

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

如果你的模式视图的performance风格设置为当前上下文,它应该旋转视图控制器A.我有问题,但无法弄清楚为什么,似乎在界面生成器中的设置覆盖在代码中设置的。

试试看,你可以明显地改变过渡样式

IB模态视图控制器设置