我在哪里有功能onClickButton(伪代码):
show activityIndicatorView (or ProgressBar or change label text no matter)
execute my algorithm
hide activityIndicatorView
actvitiyIndicatorView将永远不会显示。如果我在函数末尾删除了hide,那么它将在算法后出现。尽管我在执行算法之前先展示了它。
为什么以及如何解决?
最佳答案
您执行我的算法很可能是耗时较长的cpu过程,在主线程上调用了该过程。
您还会在算法之前显示活动指示器...用户界面通常需要一些时间来更新布局(添加活动指示器..),但在此之前。 ..并且它阻止UI更新..所以当任务完成时..您告诉隐藏活动..而您的活动也隐藏....这就是为什么您看不到它被添加然后从视图中删除的原因。
要解决此问题,请在单独的线程(没有主线程)中执行算法任务。通过这种方式,将更新UI,任务将在后台完成。
另一种方法是在延迟一段时间后执行长时间的任务,以便UI自行更新
关于iphone - 我的事件指标在我的算法之后显示,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9615753/