iphone - 我的事件指标显示在我的算法之后

标签 iphone ios ios4 uiactivityindicatorview

我有 onClickButton 函数(伪代码):

show activityIndicatorView (or ProgressBar or change label text no matter)
execute my algorithm
hide activityIndicatorView

actvitiyIndi​​catorView 永远不会显示。如果我在函数末尾删除隐藏,那么它将在算法之后出现。尽管我在执行算法之前展示了它。

为什么以及如何修复它?

最佳答案

很可能你执行我的算法是一个很长的 cpu 耗时过程,它在主线程上被调用......

您还在算法之前显示事件指示器...UI 通常需要一些时间来更新布局(添加您的事件指示器..)..但在此之前..您的 a;gorith 发生在主线程..它阻止了用户界面更新..所以当任务完成时..你告诉隐藏事件..你的事件隐藏....这就是为什么你看不到它被添加然后从中删除的原因查看..

为了解决这个问题..在一个单独的线程中执行算法任务(没有主线程) ..这样 UI 将被更新并且任务将在后台完成..

另一种方法是在延迟一段时间后执行长任务..以便 UI 自行更新

关于iphone - 我的事件指标显示在我的算法之后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9615753/

相关文章:

ios - PFObject 错误没有名为 'Contains' 的成员(SWIFT Xcode Parse)

iphone - ios 6.1.1设备将无法运行xcode 4.6

iphone - 当我在 UITextView 中时如何检测键盘何时按下?

iphone - 在 UITableViewController 中的通知中心添加观察者的位置

iphone - 创建基本的内容浏览 iPhone 应用程序

iPhone CALayer 图像数组内容值

iphone - 如何将现有应用程序日志复制到 TestFlight 并使用宏

iOS插入数据库

iphone - 为什么 get-task-allow 没有显示在我的 Entitlements.plist 文件中?

iOS 日文字符居中问题