通过另一个视图时,UIAlertView延迟或不显示。任何帮助将不胜感激。
-(void)viewDidLoad{
levelContentController = [[UIAlertView alloc] initWithTitle:@""
message:@"Loading...
delegate:self
cancelButtonTitle:nil
otherButtonTitles:nil];
}
-(void)passToTestView:(id)sender{
[levelContentController show];
ViewController *viewController = [[ViewController alloc]init];
clickedLevelId = [[NSString alloc] init];
clickedLevelId = [testIdStringArray objectAtIndex:[sender tag]-1];
[viewController sendIndexMethod:sendIndex];
[viewController testCompletedArrayMethod:arrayOfCompletedTest];
[viewController parseTestURL:buttonTag getTestIdString:clickedLevelId];
viewController.viewSoundCheck = _levelSoundCheck;
[self presentViewController:viewController animated:YES completion:nil];
}
-(void)viewWillDisappear:(BOOL)animated{
[levelContentController dismissWithClickedButtonIndex:0 animated:YES];
}
上面的代码有一些问题。
调用passToTestView:
选择器时,它会尝试显示alertView。但在同一方法中,您尝试呈现另一个视图控制器。
这将依次调用viewWillDisappear:
隐藏alertView。
如果你想在显示ViewController
时显示alertView,建议在UIAlertView
类的ViewController
或viewDidLoad
中创建和显示viewWillAppear:
实例。不要在此viewController中初始化并显示它。
要显示UIAlertView,您应该调用:
[contentLoadingController show];
请注意,在iOS9中不推荐使用UIAlertView,您应该使用UIAlertController。