【问题标题】:Segue from tab view controller从选项卡视图控制器 Segue
【发布时间】:2017-12-13 15:04:49
【问题描述】:

我正在尝试从选项卡视图控制器转换为视图控制器。 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?

【问题讨论】:

  • 从 viewController 添加一个 segue,它首先呈现,而不是来自 TabBarController

标签: swift swift3 segue


【解决方案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 开始到最后一个。所以根据您的要求检查您的转场条件并为所需的索引准备转场。

【讨论】:

    猜你喜欢
    • 2012-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多