У меня проблема с отклонением модального контроллера вида в определенном пограничном случае.Я отображаю модальное представление, когда извлекаю PDF для отображения в UIWebView.Когда файл, который я получаю, очень маленький, модальное представление попытается закрыть слишком рано.Я представляю модальное представление в контроллере представления, который содержит UIWebView.Я отклонил это в методе делегата didFinishLoad UIWebView.
Я в порядке, не анимируя первоначальное представление модального представления ... но разве это безопаснее, чем то, что я делал?есть ли у этого потенциал на провал, и если да, то как бы вы изменили его?Я просматривал документы, и ничего, что я до сих пор читал, не решает эту ситуацию.
//
// This will download the file if not @ specific path, otherwise use local file.
// _myFileManager is a helper class and _myFileRecord is the backing data model
//
-(id)initWithNib... fileRecord:(MYFileRecord *)_myFileRecord
{
[_myFileManager cacheFileAsync:_myFileRecord delegate:self];
}
- (void)viewDidLoad
{
// doesn't seem to work, NO for animated does seem to work
[self.navigationController presentModalViewController:_splashController
animated:YES];
_splashController.messageLabel.text = @"Retrieving File...";
}
- (void)recordSaved:(MyFileRecord *)myFileRecord fileName:(NSString *)fileName
{
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL fileURLWithPath:fileName]];
[_webView loadRequest:request];
}
- (void)webViewDidStartLoad:(UIWebView *)webView {
_splashController.messageLabel.text = @"Opening File...";
}
//
// This fails when a small file is already cached to disk and the time
// for the webView to finishLoad is faster than the splashView can present itself
//
- (void)webViewDidFinishLoad:(UIWebView *)webView {
[self.navigationController dismissModalViewControllerAnimated:YES];
}