我试图从标签视图控制器转换为视图控制器。 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?
答案 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。
希望这会对你有所帮助!