【问题标题】:Activity Indicator Doesn't Stop/Start Properly活动指示器无法正常停止/启动
【发布时间】:2011-12-21 22:26:09
【问题描述】:

编辑:问题解决了! 对于其他人,要修复它,只需右键单击 WebView,单击“委托”圆圈,然后将其拖动到左侧的“文件所有者”。

感谢您的帮助

--我对应用程序开发还很陌生,实际上我在第一学期。因为是全新的课程,所以导师也知之甚少。因此,我完全有权就此寻求帮助。谢谢!

关于我的问题...

我想在我的应用程序中包含一个活动指示器,因为我的 WebView 开始和停止加载,就足够了。此时,它将动画化。但是,我的问题是它在 WebView 开始加载任何内容之前开始,并且永远不会停止。我目前的代码是这样的:

 - (void)webViewDidStartLoad:(UIWebView *)webView {
 [activity startAnimating];
 }
 - (void)webViewDidFinishLoad:(UIWebView *)webView {
[activity stopAnimating];

除此之外,我在标题中设置了它...

IBOutlet UIActivityIndicatorView *activity; 

据我所知,设置相当正确。哦,另外,我确实在 .xib 文件中选中了“动画”和“停止时隐藏”。

更新:NSLogs 和断点显示方法没有被调用。

我是一个高度视觉化的学习者,所以,我需要看看我缺少什么,除非它是界面中的问题。谢谢...

非常感谢任何帮助

【问题讨论】:

    标签: iphone objective-c cocoa-touch uiwebview uiactivityindicatorview


    【解决方案1】:

    您的 webView 是否正确连接到委托?折腾一个 NSLog 或几个断点,并确保您的函数正在被调用。

    【讨论】:

    • 我会试试的。我会在一分钟后回来提供详细信息
    • 我都添加了,但什么也没得到。他们根本没有被叫到。我该如何解决?谢谢
    • 我认为 Dancreek 在设置委托方面做得对。您是否专门为您的 webview 设置了委托?如果你不能回答这个问题,那么你可能没有。只需从 IB 的 web 视图中单击选项到“文件所有者”并选择委托。我认为在那之后它会起作用。
    • 谢谢,你们帮了大忙。我不记得了,但我不确定。我会调查的
    • 您,先生,太棒了。这正是我所缺少的。
    【解决方案2】:

    您可以在代码中放置一个断点来查看是否调用了 webViewDidFinishLoading。我猜它没有被调用。您应该实现另一种委托方法(参见UIWebViewDelegate Protocol Reference),称为webView:didFailLoadWithError:。实现它并在其中放置一个断点。让我们知道会发生什么。

    【讨论】:

    • 我添加了断点和日志,但我什么也没得到。似乎他们根本没有被正确调用。
    • 接下来我该怎么做?对不起,因为我没有大量的故障排除经验。谢谢!
    • 我在想...我应该以某种方式附加 webView 和活动指示器吗?还是可能是另一个问题。
    • 这是一个好的开始。通常,这意味着委托可能没有正确设置。但我很困惑,因为你说活动指示器开始动画。你会在其他任何地方调用 startAnimating 吗?
    • 不是的,其实我只是把startAnimating完全去掉了,打开app还是立即开始动画,并没有停止。我可以做些什么来发现缺少的东西?再次感谢
    【解决方案3】:

    你看过苹果开发者的例子吗? Apple Developer Example Webview

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多