WebView确实完成启动不起作用

时间:2012-07-31 22:13:57

标签: objective-c macos webview launch

这种方法有什么问题?

- (void)webView:(WebView *)sender didFinishLoadForFrame:(WebFrame *)frame {
[activityIndicator stopAnimation:self];
}

我想停止循环进度指示器(activityIndicator)。但是- (void)webView:(WebView *)sender didFinishLoadForFrame:(WebFrame *)frame有问题。我正在编写mac osx而不是iOS。我从代表那里听到了什么,这是什么意思?

1 个答案:

答案 0 :(得分:1)

检查以确保您的UIWebView已设置其委托。设置委托基本上是告诉程序你想要处理事件的人(比如点击,手势,或者在这种情况下,加载webView)。因此,当一个事件被触发时,它将通知代理人并且代理人可以处理它。也许如果你发布更多的代码会有所帮助,但我会检查你的UIWebView的声明。确保在分配并初始化之后,将其委托设置为self(假设此方法在同一个类中),如下所示:

UIWebView *myWebView = [[UIWebView alloc] init];
[myWebView setDelegate:self];

如果您尚未设置委托,则会触发事件,并且没有人接收它们来处理它们。您正在使用的方法是等待任何webView发送的特定事件。当它发送一个事件消息时,它作为参数传递触发的webView。在任何情况下,请输入日志语句以确保您输入的方法。这将告诉您它是否正在接收事件消息。

- (void)webView:(WebView *)sender didFinishLoadForFrame:(WebFrame *)frame {
    NSLog(@"Did finish loading..."); 
    [activityIndicator stopAnimation:self];
}

注意:这是根据iOS体验,但也适用于Mac OS。如果方法被调用,请告诉我你的日志结果是什么。