gpt4 book ai didi

iOS webViewDidFinishLoading 未被调用

转载 作者:可可西里 更新时间:2023-11-01 06:18:29 25 4
gpt4 key购买 nike

我有一个 UIWebView 并希望在它加载时显示一个事件指示器。然后在 webViewDidFinishLoading 时隐藏它。唯一的问题是我收到此 NSURLErrorDomain 错误 -999。四处搜索后,我找到了 this fix它不会显示任何错误消息,但我的 webViewDidFinishLoading 永远不会被调用以摆脱我的事件指示器和我正在进行的其他事情。我想我可以在我的 webViewDidFailWithError 方法中调用 didFinishLoading 方法,如果它以 -999 失败,但这看起来 super hacky 和错误。关于如何解决此问题的任何想法?

编辑*我已经弄清楚 webview 在哪里被要求加载两次,所以我能够摆脱错误 -999。但是,似乎这两个委托(delegate)方法都没有被调用,除非我尝试加载 webview 两次(在这种情况下,webViewDidFinishLoading 方法只被调用一次)。

- (void)viewDidLoad
{
self.webView.delegate = self;
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(refresh)
name:@"DidBecomeActive"
object:nil];
[super viewDidLoad];
}
-(void)refresh{
[self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://myapp.com/app/"]]];
self.webView.scrollView.bounces = NO;
}

- (void)webViewDidFinishLoading:(UIWebView *)wv
{
NSLog(@"finished loading");
[self.activityInd stopAnimating];
[self.view bringSubviewToFront:wv];
}

- (void)webView:(UIWebView *)wv didFailLoadWithError:(NSError *)error
{
NSLog(@"Failed: %@", error);
if([error code] == NSURLErrorCancelled){
return;
}
[self.activityInd stopAnimating];
[[[UIAlertView alloc] initWithTitle:@"Can't find server" message:@"Check your internet connection and try again." delegate:nil cancelButtonTitle:@"OK" otherButtonTitles: nil]show];
}

最佳答案

你是否像下面这样将 UIWebView 委托(delegate)分配给它的对象

webViewObject.delegate = self 

关于iOS webViewDidFinishLoading 未被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15756496/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com