willEnterForeground通知,但isBeingPresented = false

时间:2019-04-11 13:20:21

标签: swift viewwillappear notificationcenter

我正在尝试找出当应用程序进入前台时更新视图的最佳方法。最初,我以为viewWillAppear可以解决问题,但看来我是错误的。

我从其他帖子中了解到正确的方法是使用通知中心:

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

到目前为止一切都很好;这可以让我确定正确的时间。但是,可能我可能在堆栈中有几个视图,并且我不希望发生大量更新,除非该视图实际上是可见的。

我认为以下代码将允许我执行以下操作:

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

但是不幸的是,当视图从后台还原时,isBeingPresented始终为false。

有人告诉我们最好的方法来判断当前视图是否是堆栈中的“顶”视图吗?

0 个答案:

没有答案