从AppDelegate更改UIButtonOutlet图像

时间:2015-12-02 22:32:10

标签: swift appdelegate

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

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

非常感谢任何帮助。谢谢。

1 个答案:

答案 0 :(得分:0)

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

尝试从AppDelegate直接与ViewController交互显然是一个糟糕的主意。相反,我遇到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)
       }