我在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");
}
请给我一些建议。提前谢谢。
答案 0 :(得分:2)
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,因为我已回答此问题。