检测何时显示(重新)显示视图

时间:2018-12-05 15:21:14

标签: ios swift

正如标题所示,如何检测用户何时看到UIViewController。这与viewDidLoad()viewDidAppear()略有不同,两者都仅在首次启动应用程序时运行。我正在寻找的是类似viewDidAppear()的东西,但是每次运行时,视图实际上会显示给用户(即从后台重新打开应用程序或显示应用程序时)将设备从睡眠中唤醒后。

谢谢!

1 个答案:

答案 0 :(得分:1)

viewDidAppear实际上是在每次视图“出现”时发生,而不是在应用程序加载时发生一次。例如,在使用UITabBarController的应用程序中,每次按下选项卡时,视图将切换到特定的视图控制器,并且将调用视图控制器的viewDidAppear方法。

要检测何时从后台显示视图,您需要注册applicationDidBecomeActive的通知。

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