Swift:如何通过setNeedsLayout

时间:2016-04-03 22:00:36

标签: ios swift

我在ViewController中有一个自定义视图,我想更新一些信息。此信息是从Firebase异步绘制的。

我尝试使用view.setNeedsDisplay或view.setNeedsLayout来更新视图。但由于每个只在下一个绘图周期后更改视图,如何在不强制用户离开ViewController并返回的情况下强制执行下一个绘图周期?

1 个答案:

答案 0 :(得分:1)

调用setNeedsDisplaysetNeedsLayout足以触发“下一个绘图周期”,如果您在主线程上调用。听起来你可能没有在主线程上调用它。如果您不确定要调用哪个线程,请调回主队列:

dispatch_async(dispatch_get_main_queue()) {
    self.someView.setNeedsDisplay()
}