iOS - iOS 8中的UIAlertView / UIAlertController方向问题

时间:2014-11-24 10:43:06

标签: ios xcode orientation uialertview

我在iOS 8或更高版本中遇到的方向问题很少。如果应用程序处于后台和其他方向,同时我的应用程序的某些过程已完成,它会向用户提供UIAlertView,然后当UIAlertView方向处于前台时会受到干扰。

我正在使用以下代码锁定alertView方向。

-(void)didPresentAlertView:(UIAlertView *)alertView{
    // UIAlertView in landscape mode
    [UIView beginAnimations:@"" context:nil];
    [UIView setAnimationDuration:0.1];
    alertView.transform = CGAffineTransformRotate(alertView.transform, M_PI_2);
    [UIView commitAnimations];
    NSLog(@"didPresentCalled");
}

请给我一些建议。提前谢谢。

2 个答案:

答案 0 :(得分:2)

在iOS 8中不推荐使用

UIAlertView,因此您需要使用UIAlertController代替。

NSString *title = @"Title";
NSString *message = @"Message";
NSString *buttonTitle = @"Dismiss";
if (NSClassFromString(@"UIAlertController") != Nil) // Yes, Nil
{
    UIAlertController *alert = [UIAlertController alertControllerWithTitle:title message:message preferredStyle:UIAlertControllerStyleAlert];
    [alert addAction:[UIAlertAction actionWithTitle:buttonTitle
                                              style:UIAlertActionStyleCancel
                                            handler:^(UIAlertAction *action) {
                                                [self dismissViewControllerAnimated:YES completion:nil];
                                            }]];
    [self presentViewController:alert animated:YES completion:nil];
}
else
{
    [[[UIAlertView alloc] initWithTitle:title
                                message:message
                               delegate:self
                      cancelButtonTitle:buttonTitle
                      otherButtonTitles:nil] show];
}

答案 1 :(得分:1)

请参阅link,因为我已回答此问题。