我在哪里有功能onClickButton(伪代码):

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


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

为什么以及如何解决?

最佳答案

您执行我的算法很可能是耗时较长的cpu过程,在主线程上调用了该过程。

您还会在算法之前显示活动指示器...用户界面通常需要一些时间来更新布局(添加活动指示器..),但在此之前。 ..并且它阻止UI更新..所以当任务完成时..您告诉隐藏活动..而您的活动也隐藏....这就是为什么您看不到它被添加然后从视图中删除的原因。

要解决此问题,请在单独的线程(没有主线程)中执行算法任务。通过这种方式,将更新UI,任务将在后台完成。

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

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

10-11 09:11
查看更多