按下后退按钮时我需要调用一个函数。 优选地,无需创建另一个按钮
答案 0 :(得分:8)
将以下内容放在视图控制器中。
override func willMove(toParentViewController parent: UIViewController?) {
super.willMove(toParentViewController: parent)
if parent == nil {
// The view is being removed from the stack, so call your function here
}
}
当parent为nil时,表示视图正从堆栈中删除(即按下后退按钮)。
与matt的答案相比,一个考虑因素是在willMove
之前调用viewWillDisappear
。您的里程将根据您的功能而有所不同,但这可能会导致根据您的具体需求出现问题。话虽如此,答案完全能够满足您的要求。
答案 1 :(得分:5)
实施viewWillDisappear
,并在其中测试isMovingFromParentViewController
。如果后者是真的,那么你就会被弹出。