Уведомление willEnterForeground, но isBeingPresented = false - PullRequest
0 голосов
/ 11 апреля 2019

Я пытаюсь найти лучший способ обновить представление, когда приложение выходит на передний план. Первоначально я предполагал, что viewWillAppear подойдет, но, похоже, я ошибся.

Я понимаю из других постов, как правильно сделать это с помощью Центра уведомлений:

NotificationCenter.default.addObserver(self, selector: #selector(willEnterForeground), name: UIApplication.willEnterForegroundNotification, object: nil)`

Пока все хорошо; это позволяет мне работать, когда это происходит правильно. Однако возможно, что у меня может быть несколько представлений в стеке, и я не хочу, чтобы происходило много обновлений, если представление фактически не видно.

Я думал, что следующий код позволит мне сделать это:

@objc func willEnterForeground() {
    if(self.isBeingPresented) {
        updateView()
    }
}

Но, к сожалению, isBeingPresented всегда имеет значение false, когда представление восстанавливается из фона.

Есть ли у кого-нибудь предложения о том, как определить, является ли текущее представление «верхним» представлением в стеке?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...