iOS viewWillAppear не вызывается при возврате из фона, даже с UIModalPresentationStyle.FullScreen, в iOS 13+ - PullRequest
0 голосов
/ 01 апреля 2020

Почему iOS не вызывает viewWillAppear, когда наше приложение возвращается из фона, даже если я установил UIModalPresentationStyle.FullScreen?

1 Ответ

1 голос
/ 01 апреля 2020

viewWillAppear - это функция, которая реагирует на изменение состояния контроллера представления. Состояния фона и переднего плана различны; они выполняются на уровне приложения.

Вы по-прежнему можете реагировать на изменения состояния приложения, используя уведомления:

override func viewDidAppear(_ animated: Bool) {
    // ...
    NotificationCenter.default.addObserver(self, selector: #selector(didReceiveForegroundNotification), name: UIApplication.willEnterForegroundNotification, object: nil)
}

@objc func didReceiveForegroundNotification() {
    // app returned from the background
}

Ваш контроллер представления будет прослушивать события, пока он не будет освобожден или удален в качестве наблюдателя. , Если вы не хотите выполнять код, когда контроллер представления исчез, вы можете сделать это на viewDidDisappear :

override func viewDidDisappear(_ animated: Bool) {
    // ..
    NotificationCenter.default.removeObserver(self)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...