从标签视图控制器中查看

时间:2017-07-10 01:20:47

标签: swift swift3 segue

我试图从标签视图控制器转换为视图控制器。 segue以模态存在。代码如下:

override func viewDidAppear(_ animated: Bool) {
    if (UserDefaults.standard.bool(forKey: "HasLaunchedOnce")) {
        print("LAnched B4")
        performSegue(withIdentifier: "Tutorial", sender: nil)
    } else {
        UserDefaults.standard.set(true, forKey: "HasLaunchedOnce")
        UserDefaults.standard.synchronize()
        performSegue(withIdentifier: "Tutorial", sender: nil)
    } 
}

我遇到的问题是没有发生segue,首先显示标签栏上的第一个视图控制器。有没有办法优先考虑segue?

1 个答案:

答案 0 :(得分:1)

  

是按照以下代码实现您的任务,您只需在控制器中添加以下功能

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    if segue.identifier == "Tutorial" {
        print("INSIDE TAB")
        if let tabVC = segue.destination as? UITabBarController{
            if !User().getIsLoggedIn() {
                print("INSIDE")
                tabVC.selectedIndex = 2 // Or you can give your viewController index
            }
        }
    }
}
  

请记住,这些索引将从0开始到最后一次。所以根据你的要求检查你的segue条件,并为所需的索引准备segue。

希望这会对你有所帮助!