【问题标题】:Segue to a view controller that's within a tabbar and navbar转到选项卡栏和导航栏中的视图控制器
【发布时间】:2015-10-04 19:39:39
【问题描述】:

1 个标签栏控制器连接到 3 个导航控制器。每个导航控制器都连接到一个视图控制器。在 #3 中,一个按钮模态地连接到视图控制器。我不希望 segue 被“推动”。无论如何我可以在该视图控制器中创建一个返回到 #3 的按钮吗?

我想要“randomviewcontroller”中的一个按钮来执行导航控制器和tabbarcontroller 中的“viewcontroller3”的segue。 “viewcontroller3”是第三个 tabbarbutton 视图。

所以:

randomviewcontroller 执行 segue 到

TabBarController -(relationshipsegue)-> NavigationController -(rootview controllersegue)-> viewcontroller3

示例:登录视图控制器。您按下登录按钮,它会转到第三个标签栏按钮视图(如果您点击标签栏上的第三个图标,您会看到该视图)。第三个标签栏按钮连接到一个导航控制器,它是视图控制器的根视图。

【问题讨论】:

    标签: ios xcode swift xcode6


    【解决方案1】:

    如果tabbarviewcontrollers.viewcontrollers 数组中的视图控制器都是导航控制器,并且您只想以编程方式切换选项卡并显示该导航控制器的根视图控制器,那么您只需切换到选项卡的索引您要选择:

    tabBarController?.selectedIndex = 2 //or whatever index you want
    

    【讨论】:

    • 我只希望 segue 转到 tabBarController?.selectedIndex = 2。我一直在搞乱“if segue.identifier == "customtopack"”。在 tabbarviewcontroller 中,但无法让它工作
    • 我认为你根本不应该使用 segue。在您的示例中,用户按下登录按钮。把上面的代码放在登录方法里,不用segue。
    • 使用该解决方案,任何与标签栏分离的视图控制器都将转到 tabBarController?.selectedIndex = 2
    • 对不起,“任何与标签栏分离的视图控制器”对我来说真的没有多大意义。我认为您的项目可能比您在问题中所问的内容更多。
    • 对不起,我是编码新手,所以很难为我解释。 1 个 tabbarcontroller 连接到 3 个导航控制器。每个导航控制器都连接到一个视图控制器。在#3 中,一个按钮模态地连接到视图控制器。我不希望 segue 被“推动”。无论如何我可以在该视图控制器中创建一个返回到 #3 的按钮?
    【解决方案2】:

    我不确定我是否完全理解您的问题(而且我不明白为什么您的一个选项卡中有一个登录视图控制器,很可能它会在它自己的视图控制器中)。

    尝试将按钮连接到以下代码(假设按钮在登录选项卡中)

    -(IBAction) login:(id)sender {
         [self.tabBar setSelectedItem:[self.tabBar.items objectAtIndex:2]];
    }
    

    让我知道这是否有效。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多