【发布时间】:2018-06-25 04:43:42
【问题描述】:
我有 6 个视图控制器,方式如下。
VCA,VCB,VCC,VCD,VCE,VCF.
mainVC-->VCA-->VCB-->VCC-->VCD...VCE
mainVC-->VCA-->VCD...VCF
(-->) 由 segues 连接,而 (...) VCE 和 VCF 以编程方式 pushed in navigationController。
我的问题是如何在BacknavigationController 上从VCD、VCE 或VCF 弹出多个视图控制器到VCA@UIBarButton
根据这个 StackOverFlow 问题 Link 和 Link :-
试过这段代码,但没有用。
override func viewDidLoad {
super.viewDidLoad()
self.navigationItem.hidesBackButton = true
let newBackButton = UIBarButtonItem(title: "Back", style: UIBarButtonItemStyle.plain, target: self, action: #selector(YourViewController.back(sender:)))
self.navigationItem.leftBarButtonItem = newBackButton
}
func back(sender: UIBarButtonItem) {
let presentingViewController = self.presentingViewController
self.dismissViewControllerAnimated(false, completion: {
presentingViewController!.dismissViewControllerAnimated(true, completion: {}) //.dismiss(animated:true, completion:{})
})
}
【问题讨论】:
-
尝试实现unwind segue。
-
@pacification 但我没有为
VCE和VCF使用segue,unwind segue 在那里不起作用 -
mainVC是导航控制器,VCA是mainVC的 root 控制器吗?还是mainVC是root 而VCA被推送了? -
@Error 我的回答运气好吗?
标签: ios swift uiviewcontroller uibarbuttonitem