ios – 使用标签栏控制器时,按钮是否可以打开特定选项卡?

这个问题有点令人困惑,所以希望图像会更有帮助.这是设置:

《ios – 使用标签栏控制器时,按钮是否可以打开特定选项卡?》

所以,我想要第一个视图按钮打开FirstViewController,我想要第二个视图按钮打开SecondViewController.如果我将Second View按钮链接到SecondViewController,如下所示:

《ios – 使用标签栏控制器时,按钮是否可以打开特定选项卡?》

我丢失了标签导航.如果我将按钮连接到TabViewController,如下所示:

《ios – 使用标签栏控制器时,按钮是否可以打开特定选项卡?》

然后它将自动打开到FirstViewController.除非我遗漏了某些内容,否则似乎需要使用一些额外的代码来完成,但我似乎无法找到解释如何执行此操作的任何内容.

谢谢!

最佳答案 使用标识符从Viewcontroller到TabBarController创建storyboard segue.然后在prepareforsegue方法中指定TabBarController的selelctedIndex值

《ios – 使用标签栏控制器时,按钮是否可以打开特定选项卡?》

@IBAction func firstBtnAction(_ sender: Any) {
    (sender as! UIButton).tag = 0
    performSegue(withIdentifier: "tabBar", sender: sender)
}
@IBAction func secBtnAction(_ sender: Any) {
    (sender as! UIButton).tag = 1
    performSegue(withIdentifier: "tabBar", sender: sender)
}

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    if segue.identifier == "tabBar" {
        if let vc = segue.destination as? UITabBarController {
            vc.selectedIndex = (sender as! UIButton).tag
        }
    }
}
点赞