WebView活动指标不会停止旋转 - iPhone Objective-C

时间:2012-04-12 13:47:57

标签: iphone objective-c xcode ios5 uiactivityindicatorview

我想在网站完成加载后停止旋转......

我拥有的代码:

在我的.h

IBOutlet UIActivityIndicatorView *activityIndicator;

在我的.m

- (void)webViewDidStartLoad:(UIWebView *)webView {
[activityIndicator startAnimating];
}
- (void)webViewDidFinishLoad:(UIWebView *)webView {
[activityIndicator stopAnimating];
self.view = webView;
}

然后我将它连接到笔尖中的文件所有者。它旋转,但不会停止!有什么建议?谢谢!

3 个答案:

答案 0 :(得分:1)

网页视图是否真正完成加载?设置一个断点,看看你是否曾经使用过该方法。

并且,为了完整性......你确实将webview的代表设置到你的视图控制器,正确(我假设你这样做,因为它开始动画,但你永远不知道)?

您可以通过两种方式设置webview的委托。如果您在笔尖中有控件,请单击webview并从委托属性拖动到文件所有者。或者,在viewDidLoad中,只需说_webView.delegate = self;

更新: 在我们进行对话之后,就以下评论而言,我只想添加此内容以便完整,以及将来看到此内容的任何其他人同样的问题。 webView在加载完成后变得庞大的原因是因为当你说self.view = webview时你将它分配给视图控制器的view属性。没必要。拿出来,你会没事的。

答案 1 :(得分:0)

应该按照您实施的方式工作。

添加以下代码

- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error {
    [loadIndicator stopAnimating];
}

也许您的UIWebView无法正确加载。

答案 2 :(得分:0)

确保在Interface Builder中的实际UIActivityIndi​​catorView对象上有正确的切换设置,并确保它已正确链接。我相信你想要"隐藏时停止"。

还要确保已实施WebView委托。