Я искал и не нашел решения для этого, так что, надеюсь, кто-то может помочь.
У меня есть UIWebView, который вызывается, когда пользователь нажимает кнопку.Все работает отлично, если только вы не учитываете поведение, когда телефон не подключен к данным.
При попытке открыть UIWebView на first время с телефоном в режиме полета или без данныхсоединение:
- UIWebView начинает загружаться
- Не загружается
Как только UIWebView выделен и не загружается в первый раз, происходит обновлениеКнопка, связанная с IBAction (которая вызывает [перезагрузка webView]), вызывает:
- Независимо от того, имеет ли телефон соединение для передачи данных после неудачной начальной загрузки, вызывается обновление IBAction, но мои NSLogsскажите мне, что ни webViewDidStartLoad, ни webViewDidFinishLoad, ни webView… didFailLoadWithError не вызываются.
Если я оставляю приложение запущенным и включаю соединение для передачи данных с устройством (например, отключаю режим полета), затем возвращаюсь к моему приложению и нажимаю кнопку обновления, вызывается [перезагрузка webView], но webViewDidStartLoad (и, следовательно, webViewDidFinishLoad) не вызывается.
Вот соответствующий код:
Чтобы открыть веб-представление:
-(IBAction)loadWebView {
webView = [[UIWebView alloc] init];
webView.scalesPageToFit = YES;
[webView setDelegate:self];
NSString *urlAddress = @"http://google.com";
NSURL *url = [NSURL URLWithString:urlAddress];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
[webView loadRequest:requestObj];
}
Перезагрузка:
-(IBAction)reloadWebView{
[webView reload];
NSLog(@"RELOAD");
}
webViewDidStart, DidFinish, didFailLoadWithError:
- (void)webViewDidStartLoad:(UIWebView *)webView
{
NSLog(@"START LOAD");
}
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
NSLog(@"FINISH LOAD");
}
- (void)webView:(UIWebView *) webView didFailLoadWithError:(NSError *)error
{
NSLog(@"DID FAIL");
}
Мысли?