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