9

在 iOS7 中,很少但偶尔,当我在UIAlertView显示 a 时旋转我的应用程序时,只有 alertView 和状态栏旋转,而不是我的应用程序。有没有其他人经历过这种情况和/或找到了解决方法?

4

3 回答 3

15

我通过向应用委托添加下一个方法解决了这个问题:

- (void)application:(UIApplication *)application willChangeStatusBarOrientation:(UIInterfaceOrientation)newStatusBarOrientation duration:(NSTimeInterval)duration  {
NSArray *windows = [application windows];
for (UIWindow *nextWindow in windows) {
    [[nextWindow.rootViewController class] attemptRotationToDeviceOrientation];
     }
}
于 2013-12-13T13:34:20.917 回答
4

我遇到了相反的问题。我的应用程序会旋转,但警报视图不会旋转。我发现这是因为我在 aUIActionSheet被解雇后立即显示警报视图(所以当它发生解雇动画时)。这似乎触发了一个错误,该错误将使警报视图不随应用程序旋转(以及稍后的其他一些小视觉问题)。我通过在操作表开始关闭后半秒显示警报视图来解决这个问题,如下所示:

[alertView performSelector:@selector(show) withObject:nil afterDelay:0.5];
于 2014-01-07T19:47:07.607 回答
0

我认为iOS7中问题的根源在于Apple改变了UIAlertView的外观机制。从现在开始,在启动两个私有视图控制器之后,alertView 的任何显示都将跟随

_UIModalItemAppViewController
_UIModalItemsPresentingViewController

换句话说,现在 UIAlertView 不是一个纯粹的视图——它是一些复杂的视图控制器集合的一部分,具有完整的视图控制器生命周期。

于 2014-01-11T19:56:00.143 回答