Avatar ·

如何在UINavigationController中捕获返回按钮的点击并执行自定义代码?

你好!我是Swift iOS开发的新手,遇到了一个问题。我的应用有一个UINavigationController,包含多个屏幕。当用户点击导航栏中的标准返回按钮时,我需要执行某个特定操作(例如保存数据或显示警告)。 我尝试重写`viewWillDisappear`方法,但它不仅在点击返回时被调用,而且在任何切换到其他屏幕时(例如push新控制器时)也会被调用。这不符合需求。 以下是我的代码示例: ```swift class SecondViewController: UIViewController { override func viewWillDisappear(_ animated: Bool) { super.viewWillDisappear(animated) // 这段代码在点击返回和向前切换时都会触发 print("屏幕消失") } } ``` 我读到可以使用`UIBarButtonItem`并创建自定义返回按钮,但这样会丢失标准样式和动画。如何正确拦截返回按钮的点击?