如何在不同选项卡下的导航控制器之间切换?

时间:2014-11-30 01:34:07

标签: ios objective-c uiviewcontroller uistoryboard

我有一个带有两个不同标签的应用,每个标签都有自己的导航控制器。

视觉表现:

Tab controller:
  Tab 1 Navigation Controller
    ViewController1
  Tab 2 Navigation Controller
    ViewController2

ViewController2是一个TableViewController。现在,我想在选择行时从ViewController2切换到ViewController1。

我使用segue将表格单元格(我使用动态原型)直接连接到ViewController1。这有效,但视图仍然在选项卡2.我尝试通过手动更改选项卡以及prepareForSegue来解决这个问题:

self.tabBarController.selectedIndex = 0;

这种方法的问题在于,当它完成后,我点击屏幕上的标签2,它仍然显示ViewController1。我必须点击两次选项卡才能返回ViewController2。此外,动画也不见了。

(可能不相关)使用案例:标签1处理卡片。标签2涉及卡片组。当我在标签2中选择一个套牌时,我希望应用程序切换到标签1以显示该套牌中的卡片。

tldr:我想从ViewController2切换到ViewController1,同时也从Tab 2切换到Tab 1.动画应该保留。

1 个答案:

答案 0 :(得分:0)

UITabBarController中切换标签时没有内置动画。因此,您可以使用tabbar controller属性selectedIndex手动切换选项卡。

你想保留什么动画?如果你想在同一个UINavigationController中拥有推送动画 - 我建议创建一个单独的ViewController1副本。