isBeingDismissed not set in viewWillDisappear:

前端 未结 5 1535
独厮守ぢ
独厮守ぢ 2021-02-13 12:25

I have some code to clean up in my viewWillDisappear:, which I only want to use when the view is moving back to the parent view controller.

- (void)         


        
5条回答
  •  没有蜡笔的小新
    2021-02-13 12:51

    As @Yuval Tal mentioned, this flag does not work when you're dismissing controller that is embeded inside navigation controller. Here's an extension that I use:

    extension UIViewController 
    {
        var isAboutToClose: Bool {
            return self.isBeingDismissed ||      
                   self.isMovingFromParentViewController ||          
                   self.navigationController?.isBeingDismissed ?? false
        }
    }
    

    It can be easily extended when you find another case when standard .isBeingDismissed won't work. And if you find, let us, let me know in comments.

提交回复
热议问题