【问题标题】:Issue With Network Activity Indicator Placement网络活动指示器放置问题
【发布时间】:2012-11-27 14:16:50
【问题描述】:

我有一个应用程序可以检索XML 文件,对其进行解析,然后在UITableView 中显示数据。当应用程序加载时一切正常。当您点击tabViewController 中的另一个选项卡时,它会暂停片刻并加载下一个视图。我需要NetworkActivityIndicator 在发生这种情况时开始制作动画,但我在放置代码的位置时遇到了一些麻烦。

我已经尝试在其他任何事情开始发生之前将它放在viewDidLoad 方法中,但结果是活动指示器在视图已经完全加载后开始动画。如果我将NSLog 语句放在相同的位置,它会在点击选项卡时立即出现在调试器控制台中。为什么活动指示器也没有立即动画?任何帮助表示赞赏。谢谢!

【问题讨论】:

    标签: objective-c ios xcode


    【解决方案1】:

    听起来您正在主线程上加载文件。运行循环仅在每个循环上更改 UI,因此如果您在加载时冻结主线程,则在完成之前不会发生任何变化。您应该考虑异步加载...

    解决这个问题的一个有点老套的方法是在设置网络指示器可见后立即执行循环:

    [UIApplication sharedApplication].networkActivityIndicatorVisible = YES;
    [[NSRunLoop mainRunLoop] runUntilDate:[NSDate dateWithTimeIntervalSinceNow:0.1]];
    

    【讨论】:

    • 正是我需要的。很好的答案。再次感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-01
    • 1970-01-01
    相关资源
    最近更新 更多