У меня есть вид и, среди прочего, кнопка на нем.Когда пользователь нажимает кнопку, выполняется следующий код:
- (IBAction) goToPhotoViewControllerView:(id) sender{
alert = [[UIAlertView alloc] initWithTitle:@"Por favor, aguarde" message:@"Carregando imagens"
delegate:nil
cancelButtonTitle:nil
otherButtonTitles:nil];
[alert show];
if(alert != nil) {
UIActivityIndicatorView *indicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
indicator.center = CGPointMake(alert.bounds.size.width/2, alert.bounds.size.height-45);
[indicator startAnimating];
[alert addSubview:indicator];
[indicator release];
}
dispatch_async(dispatch_get_global_queue(0, 0), ^{
//Do a lot of stuff here
PhotoViewController *photoViewControllerView = [[PhotoViewController alloc] initWithNibName:@"PhotoViewController" bundle:nil];
[iosDao selectComics];
[photoViewControllerView startWithComic:[[iosDao.comics lastObject] idComic] numPanels:[[[iosDao.comics lastObject] panels] count]];
photoViewControllerView.navigationItem.title = @"Comics";
[iosDao release];
[[self navigationController] pushViewController:photoViewControllerView animated:YES];
[alert dismissWithClickedButtonIndex:0 animated:YES];
[alert release];
});
}
В результате происходит то, что большую часть времени весь асинхронный код выполняется, отклоняя сообщение с предупреждением.Однако после того, как предупреждающее сообщение отклонено, экран все еще остается замороженным в течение приблизительно 2 или 3 секунд, прежде чем он перейдет к следующему viewController (photoViewControllerView).Я понятия не имею, почему это происходит.Я хочу, чтобы предупреждающее сообщение оставалось включенным столько, сколько необходимо.Есть идеи?
Заранее спасибо!