从 UIViewController 过渡到 TabBarViewController
Transition from UIViewController to TabBarViewController
我已经搜索了 6 个小时的解决方案,但没有找到适合我情况的解决方案。我的故事板遵循以下流程:
TabBarViewController -> NavigationController ->TableViewController -> UIViewController(见下图)
当单击最后一个视图控制器(Stranger View Controller)中的 "Notify" 按钮时,我想以编程方式 transition/segue 从该 View Controller(Stranger View Controller)到另一个TabBarViewController 的 child(它是图中标题为 "Look Around" 的控制器)。
每次我执行传统的 segue:
- option + 从 Stranger View Controller 拖动 segue --> Look Around
查看控制器
- 给segue一个标识符
- 以编程方式使用 self.performSegueWithIdentifier。
我得到一个过渡。但是 "Look Around" 标签栏在情节提要中消失了,在模拟器中,一旦我点击 "Notify",视图就会更改为 "look around" 视图,但下面的标签栏并没有反映出来更改,因为它仍然突出显示了上一个选项卡。
我已经处理了 IBAction 函数中我需要处理的所有其他处理。一旦用户点击 "Notify",这只是正确地将用户发送到不同视图的问题。
如有任何相关指导,我们将不胜感激。
如果您对我有任何问题或疑虑,请随时提出。我是新手,愿意接受任何帮助。
ViewController 是 NavigationBar 的子项,NavigationBarController 是 TabBarController 的子项。所以不需要Segue,因为它会扰乱流程。
以编程方式尝试
@IBAction func notifyButtonTapped(sender: AnyObject) {
tabBarController?.selectedIndex = 1
tabBarController?.tabBar.hidden = false
self.navigationController?.popToRootViewControllerAnimated(false)
}
我已经搜索了 6 个小时的解决方案,但没有找到适合我情况的解决方案。我的故事板遵循以下流程:
TabBarViewController -> NavigationController ->TableViewController -> UIViewController(见下图)
当单击最后一个视图控制器(Stranger View Controller)中的 "Notify" 按钮时,我想以编程方式 transition/segue 从该 View Controller(Stranger View Controller)到另一个TabBarViewController 的 child(它是图中标题为 "Look Around" 的控制器)。
每次我执行传统的 segue:
- option + 从 Stranger View Controller 拖动 segue --> Look Around 查看控制器
- 给segue一个标识符
- 以编程方式使用 self.performSegueWithIdentifier。
我得到一个过渡。但是 "Look Around" 标签栏在情节提要中消失了,在模拟器中,一旦我点击 "Notify",视图就会更改为 "look around" 视图,但下面的标签栏并没有反映出来更改,因为它仍然突出显示了上一个选项卡。
我已经处理了 IBAction 函数中我需要处理的所有其他处理。一旦用户点击 "Notify",这只是正确地将用户发送到不同视图的问题。
如有任何相关指导,我们将不胜感激。
如果您对我有任何问题或疑虑,请随时提出。我是新手,愿意接受任何帮助。
ViewController 是 NavigationBar 的子项,NavigationBarController 是 TabBarController 的子项。所以不需要Segue,因为它会扰乱流程。
以编程方式尝试
@IBAction func notifyButtonTapped(sender: AnyObject) {
tabBarController?.selectedIndex = 1
tabBarController?.tabBar.hidden = false
self.navigationController?.popToRootViewControllerAnimated(false)
}