仅在 iOS8 中,当 App 被锁定为纵向时,UIAlertView 更改为横向

Posted

技术标签:

【中文标题】仅在 iOS8 中,当 App 被锁定为纵向时,UIAlertView 更改为横向【英文标题】:UIAlertView changes to landscape when App is locked in portrait only in iOS8 【发布时间】:2014-10-08 13:54:57 【问题描述】:

我有一个应用程序,它的方向被锁定为纵向模式,但是当我有一个 UIAlertView 并将 iPhone 转为横向时,警报会改变方向并裁剪警报的覆盖层。仅在 ios8 中。

有人遇到过这个错误吗?

【问题讨论】:

【参考方案1】:

是的,我确实遇到了这个问题。我在 iOS7 中开发了我的代码,但也必须与 iOS 8 兼容。所以我遇到了This link。我的解决方案如下:

当您使用 iOS7 时,UIAlertView 工作正常,但如果您使用 iOS8,则必须使用 UIAlertController。使用这种代码:

if(SYSTEM_VERSION_LESS_THAN(@"8.0"))
 
   alert = [[UIAlertView alloc] initWithTitle:@"Warning" message:@"Invalid Coupon."  delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
        [alert show];
 
        else
       
        UIAlertController *alertController = [UIAlertController    alertControllerWithTitle:@"Warning" message:@"Invalid Coupon." preferredStyle:UIAlertControllerStyleAlert];


        UIAlertAction *okAction = [UIAlertAction
                                   actionWithTitle:NSLocalizedString(@"OK", @"OK action")
                                   style:UIAlertActionStyleDefault
                                   handler:^(UIAlertAction *action)
                                   

                                   ];

        [alertController addAction:okAction];

        [self presentViewController:alertController animated:YES completion:nil];
    

希望这会对你有所帮助。

【讨论】:

欢迎。很高兴为您提供帮助

以上是关于仅在 iOS8 中,当 App 被锁定为纵向时,UIAlertView 更改为横向的主要内容,如果未能解决你的问题,请参考以下文章

当设备旋转而不将设备锁定为纵向模式时,如何将 collectionView 的所有项目保持在适当的位置?

应用程序启动时锁定为纵向从横向旋转到纵向 (iOS)

在 ios 应用程序中将 UIImagePickerController 锁定为纵向模式

iOS 8 弹出框宽度 = 0 在 iPad 上仅在纵向模式下

旋转行为 iOS8 vs iOS9

iOS 8 自定义键盘方向更改