如何知道View何时从后台变为活动状态

时间:2015-01-12 21:32:00

标签: ios swift methods

是否有类似于applicationDidBecomeActive的方法,但这适用于视图控制器。我知道viewWillAppearviewDidAppear,当你导航到这个视图控制器时它会起作用,但我需要在用户离开应用程序时调用的东西(通过按下主页按钮),然后重新打开该应用程序。我有一个全局变量,它在视图控制器的viewDidLoad中定义,但在applicationDidBecomeActive方法中重新定义。这意味着如果应用程序进入后台,然后返回到前台,变量将会更改。我需要像viewDidBecomeActive方法那样重置它。

3 个答案:

答案 0 :(得分:4)

您只需注册视图控制器即可收听UIApplicationDidBecomeActiveNotification通知。

在视图控制器的viewWillAppear方法中添加以下内容:

 [[NSNotificationCenter defaultCenter]addObserver:self
                                         selector:@selector(yourMethod)
                                             name:UIApplicationDidBecomeActiveNotification
                                           object:nil];

答案 1 :(得分:0)

Swift 4

NotificationCenter.default.addObserver(
    self,
    selector:#selector(refreshWhenAppBecomesActive),
    name: NSNotification.Name.UIApplicationDidBecomeActive,
    object: nil)

答案 2 :(得分:0)

雨燕5

    NotificationCenter.default.addObserver(
        self,
        selector:#selector(yourMethod),
        name: UIApplication.didBecomeActiveNotification,
        object: nil)

以及您的职责

@objc func yourMethod() {
   // your code
}