2015-12-02 55 views
0

我想通过按钮图像让用户知道新内容何时可用。以例如Snapchat为例:用户知道新的快照,因为左侧按钮变成红色(在mainView上)。我也想这样做。 我已经在后台处理了通知 didReceiveRemoteNotification。感谢this post,当新的APN到达时,我能够在后台唤醒应用程序。从AppDelegate更改UIButtonOutlet图片

现在我想更新从applicationWillEnterForeground直接按钮的图像。这是我想到的唯一方法,因为当用户点击应用程序(而不是横幅或通知中心)时已经加载了视图。

任何帮助将不胜感激。谢谢。

回答

0

如果有人曾经遇到同样的问题...

试图直接从AppDelegate中一个视图控制器互动显然是一个可怕的想法。相反,我碰到了this post,告诉我如何知道ViewController何时进入前景。这里是@nsgulliver答案:

override func viewDidLoad() { 
    super.viewDidLoad() 

    NSNotificationCenter.defaultCenter().addObserver(self, selector:"doYourStuff", name: 
    UIApplicationWillEnterForegroundNotification, object: nil) 
} 

func doYourStuff(){ 
    // your code 
} 

然后取出观察:

deinit { 
     NSNotificationCenter.defaultCenter().removeObserver(self) 
     }