Swift & 导航:如何弹出直到某个 ViewController?
Swift & Navigation : How do I pop until a certain ViewController?
为了弹出到 Root ViewController,我可以使用下面的代码。
navigationController?.popToRootViewController(animated: false)
但是如果我想弹出直到导航堆栈中的某个视图控制器,我该怎么做呢?请帮我。谢谢。
导航控制器包含一组视图控制器,您可以弹出任何您想要的子控制器。例如你的流程看起来像:
HomeViewController
-> ContactViewController
-> ContactDetailsViewController
-> ChatViewController
然后你想从 ChatViewController
推回到 ContactViewController
:
class ChatViewController: UIViewController {
....
func popToContact() {
if let contactVC = self.navigationController?.viewControllers.filter { [=10=] is ContactViewController }.first {
self.navigationController?.popToViewController(contactVC, animated: true)
}
}
}
为了弹出到 Root ViewController,我可以使用下面的代码。
navigationController?.popToRootViewController(animated: false)
但是如果我想弹出直到导航堆栈中的某个视图控制器,我该怎么做呢?请帮我。谢谢。
导航控制器包含一组视图控制器,您可以弹出任何您想要的子控制器。例如你的流程看起来像:
HomeViewController
->ContactViewController
->ContactDetailsViewController
->ChatViewController
然后你想从 ChatViewController
推回到 ContactViewController
:
class ChatViewController: UIViewController {
....
func popToContact() {
if let contactVC = self.navigationController?.viewControllers.filter { [=10=] is ContactViewController }.first {
self.navigationController?.popToViewController(contactVC, animated: true)
}
}
}