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

时间:2014-10-08 13:54:57

标签: iphone ios8 orientation xcode6 uialertview

我有一个应用程序,其方向被锁定为纵向模式,但是当我有一个UIAlertView并将iPhone转为横向时,警报会改变方向并裁剪警报的叠加层。仅限iOS8。

有人有这个错误吗?

1 个答案:

答案 0 :(得分:14)

是的我确实遇到了这个问题。我已经在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];
    }

希望这会对你有所帮助。