在iOS7中,很少但有时候当我旋转我的应用程序时,只有UIAlertView
和状态栏会旋转,但我的应用程序却没有旋转。有其他人经历过这种情况并找到了解决方法吗?
在iOS7中,很少但有时候当我旋转我的应用程序时,只有UIAlertView
和状态栏会旋转,但我的应用程序却没有旋转。有其他人经历过这种情况并找到了解决方法吗?
我通过在应用程序委托中添加下一个方法来解决了这个问题:
- (void)application:(UIApplication *)application willChangeStatusBarOrientation:(UIInterfaceOrientation)newStatusBarOrientation duration:(NSTimeInterval)duration {
NSArray *windows = [application windows];
for (UIWindow *nextWindow in windows) {
[[nextWindow.rootViewController class] attemptRotationToDeviceOrientation];
}
}
我遇到了相反的问题。我的应用程序可以旋转,但警报视图不能旋转。我发现这是因为我在一个UIActionSheet
被解除后立即显示警报视图(因此当解除动画正在进行时)。这似乎触发了一个错误,使得警报视图不随应用程序旋转(以及稍后的一些其他小的视觉问题)。我通过在操作表开始解除后半秒钟呈现警报视图来解决这个问题,就像这样:
[alertView performSelector:@selector(show) withObject:nil afterDelay:0.5];
UIActionSheet
,而是在 UIAlertView
显示时关闭了一个视图控制器,这解决了问题。 - john.k.doe我认为iOS7问题的根源在于苹果改变了UIAlertView的外观机制。 从现在开始,任何alertView的显示都是在初始化两个私有视图控制器之后进行的。
_UIModalItemAppViewController
_UIModalItemsPresentingViewController