我正在尝试从导航控件的最后一个屏幕(堆栈-您可以在其中退回)到标签栏导航的第一个屏幕执行segue。到目前为止,我唯一成功的方法是打开选项卡栏的第一个屏幕,而没有底部的选项卡,而顶部带有“后退”按钮。任何想法?
func userLogin(status: Bool, user: UserModel) {
DispatchQueue.main.async {
if status == true{
self.userModel = user
self.performSegue(withIdentifier: Constants.gotoOverview, sender: self)
} else {
let alert = UIAlertController(title: "Register", message: "some message", preferredStyle: UIAlertController.Style.alert)
alert.addAction(UIAlertAction(title: "OK", style: UIAlertAction.Style.default, handler: nil))
self.present(alert, animated: true, completion: nil)
}
}
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
let vc = segue.destination as! OverviewController
vc.userModel = userModel
}
答案 0 :(得分:0)
通过将根视图控制器设置为第一个视图控制器来完成这项工作,为什么要使用segue。
例如:-在导航屏幕的末尾,您要将第一个屏幕设置为根视图控制器。
如果未显示标签栏图标,则还可以创建标签栏vc标识符并将该控制器设置为当前vc,它将起作用。
当您使用的是最后一个vc(视图控制器)时,然后使用导航按钮来推送vc。
let storyBoard = UIStoryboard(name: "Main", bundle: nil)
let vc: UIViewController =
storyBoard.instantiateViewController(withIdentifier: TabBarVC)
self.navigationController?.pushViewController(vc, animated: true)