使用 ViewWillDisappear 取消视图消失

Cancelling a View Disappearing using ViewWillDisappear

我的应用程序使用 NavigationController。在后退按钮上按下我会检查是否满足特定条件。如果没有,我想警告用户他们所做的工作将不会被保存。

我正在尝试使用 viewWillDisappear 函数来执行逻辑等

但是,如果用户希望取消导航,我不确定如何停止导航。

在 viewcontroller 的 viewDidLoad(..) 方法中提供左栏按钮项。无论您将在 leftBarButton 的 Selector 方法中放入什么逻辑,您的左按钮都会像那样工作。

例如:

override func viewDidLoad(){
let backButton = UIBarButtonItem(title: "Back", style: .plain, target: self, action: #selector(self.backButtonAction(_:)))
self.navigationItem.leftBarButtonItem = backButton
}

@objc func backButtonAction(_ sender: UIBarButtonItem){
    // Your logic for navigation
}