如何根据swift中的按钮单击条件执行不同的segue?

时间:2017-07-28 02:18:59

标签: ios swift swift3

我正在构建一个应用程序,如果您是第一次打开应用程序而另一个按钮将您带到配置文件注册表视图,如果您在任何其他时间打开该应用程序。如何以编程方式完成此操作,我所看到的所有内容只将按钮连接到一个视图。

@IBAction func NextViewController(_ sender: UIButton) {
    if launchedBefore  {
        print("Not first launch.")

    } else {
        print("First launch, setting UserDefault.")


        UserDefaults.standard.set(true, forKey: "launchedBefore")
    }
}

1 个答案:

答案 0 :(得分:9)

我认为,您正在尝试连接按钮以执行具有多个ViewController的segue对吗?这是不可能的

而是必须在视图控制器之间连接segue

在两个viewControllers之间添加segue:

在Interface Builder中,在要链接的两个viewControllers之间按住Ctrl键拖动。你应该看到:

enter image description here

现在根据您的情况,您应该使用以下标识符执行segue:

@IBAction func NextViewController(_ sender: UIButton) {
            if launchedBefore  {
        /*Use the Identifier you given in story Board*/
               self.performSegue(withIdentifier: "otherVC", sender: self)

            } else {
    /*Use the Identifier you given in story Board*/
        self.performSegue(withIdentifier: "register", sender: self))
                UserDefaults.standard.set(true, forKey: "launchedBefore")
            }
        }

有关segue的更多描述性答案,请参阅答案How to connect two view controllers to one button in storyboard?