我需要执行一个操作(清空数组),当按下 UINavigationController
的后退按钮时,该按钮仍会导致堆栈上的前一个 ViewController
出现。我怎么能用swift完成这个?
最佳答案
按照另一个答案的建议将按钮替换为自定义按钮可能不是一个好主意,因为您将失去默认的行为和样式。
您的另一个选择是在 View Controller 上实现 viewWillDisappear 方法并检查名为 isMovingFromParentViewController 的属性。如果该属性为真,则表示 View Controller 正在消失,因为它正在被移除(弹出)。
应该看起来像:
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
if self.isMovingFromParentViewController {
// Your code...
}
}
在 swift 4.2 中
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
if self.isMovingFromParent {
// Your code...
}
}
关于ios - 按下 UINavigationController 的后退栏按钮时执行操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27713747/