我有UIlabel
显示倒计时和观察员:
NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("willEnterForeground:"), name:UIApplicationWillEnterForegroundNotification, object: nil)
问题是willEnterForeground()
仅在视图可见后才会触发。如果在该函数中我为标签timerLabel.text = "blah"
添加了一个新值,则用户(在将应用程序返回到前台时)将首先看到标签在输入背景时所具有的值,并且仅在半秒后标签文字将会更新。
有没有办法在视图可见之前更新视图?
答案 0 :(得分:2)
实际上,您的代码正常运行。问题是用户首先看到应用程序进入后台时拍摄的快照。然后运行您的代码,然后出现真实的应用程序 - 带有更新的标签文本值。
所以你抱怨说你不喜欢整个快照的工作方式。但是,由于已经制作了快照,因此您无能为力。设置该快照的唯一方法是在应用程序进入后台时设置标签的值(我认为这里不可能,因为你不知道未来的)。
我建议您在应用程序进入后台时空白标签。这样,至少,用户最初看不到错误的值。