这是流程:
VC1
->(PUSH)-> VC2
->(PUSH) ->VC3
当单击一个按钮时,VC3
我正在调用下面的方法并且它工作正常 - 带我回到VC1
:
self.navigationController?.popToRootViewController(animated: false)
但问题在于没有被调用的viewWillAppear()
方法。
有没有办法调用它?VC1
这是流程:
VC1
->(PUSH)-> VC2
->(PUSH) ->VC3
当单击一个按钮时,VC3
我正在调用下面的方法并且它工作正常 - 带我回到VC1
:
self.navigationController?.popToRootViewController(animated: false)
但问题在于没有被调用的viewWillAppear()
方法。
有没有办法调用它?VC1
你可以在这里做的伎俩:
if let root = navigationController?.viewControllers.last(where: { $0 is YourRootController }) {
navigationController?.popToViewController(root, animated: true)
}
我不太确定,但viewWillAppear()
会在加载控制器时调用。关闭其他控制器时它没有调用。所以,您需要尝试custom Delegate
或Notification observer
。