正如标题所示,如何检测用户何时看到UIViewController。这与viewDidLoad()
和viewDidAppear()
略有不同,两者都仅在首次启动应用程序时运行。我正在寻找的是类似viewDidAppear()
的东西,但是每次运行时,视图实际上会显示给用户(即从后台重新打开应用程序或显示应用程序时)将设备从睡眠中唤醒后。
谢谢!
答案 0 :(得分:1)
viewDidAppear
实际上是在每次视图“出现”时发生,而不是在应用程序加载时发生一次。例如,在使用UITabBarController
的应用程序中,每次按下选项卡时,视图将切换到特定的视图控制器,并且将调用视图控制器的viewDidAppear
方法。
要检测何时从后台显示视图,您需要注册applicationDidBecomeActive
的通知。
NotificationCenter.default.addObserver(self, selector: #selector(applicationDidBecomeActive), name: UIApplication.didBecomeActiveNotification, object: nil)