我有一个UIlabel
显示倒计时和一个观察者:
NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("willEnterForeground:"), name:UIApplicationWillEnterForegroundNotification, object: nil)
问题是
willEnterForeground()
仅在视图变为可见后才触发。如果在该函数中我为标签设置了一个新值,如timerLabel.text = "blah"
,则用户(在将应用程序返回前台时)将首先看到标签在进入后台时的值,并且仅在大约半秒后标签文本将被更新。是否有方法在视图变为可见之前更新它们?
最佳答案
实际上,你的代码正在工作。问题是用户第一次看到应用程序进入后台时拍摄的快照。然后你的代码运行,然后你真正的应用出现-与更新的标签文本值。
所以你抱怨说你不喜欢整个快照的工作方式。不过,您对此无能为力,因为快照已经生成。设置快照的唯一方法是在应用程序进入后台时设置标签的值(我认为这在这里是不可能的,因为您不知道未来)。
我建议你在应用程序进入后台时将标签清空。这样,至少用户最初不会看到错误的值。
关于ios - View 变为可见后将触发willEnterForeground(),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36237390/