0

这种方法有什么问题?

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

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

4

1 回答 1

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。让我知道您的日志结果是什么,是否调用了该方法。

于 2012-07-31T23:54:12.657 回答