一个按钮可以有两个 segue 到两个不同的视图控制器/我如何编写没有 segue 的视图控制器更改?

Can a button have a two segues to two different view controllers / how can i code a view controller change without a segue?

这是我现在拥有的,但它没有打开视图控制器。我认为我的 let act1c = act1ViewController() 不起作用。

@IBAction func buttonPressed(_ sender: UIButton) {
    let act1vc = act1ViewController()

    let act2vc = activity2VC()

    switch sender.titleLabel?.text {
    case "cheer up":
     present(act1vc, animated: true, completion: nil)

    case "yay":
        present(act2vc, animated: true, completion: nil)

    default:
        break
    } 

您可以从一个按钮获得 2 个 segue,但是您必须有条件地取消一个 func shouldPerformSegue(withIdentifier identifier: String, sender: Any?) -> Bool 的覆盖,这将是一个令人困惑的设计。

我建议从 ViewController 顶部的 viewController 图标连接你的两个 segues。在 Attributes Inspector 中为它们提供标识符,例如 "segueToAct1""segueToAct2",然后使用 performSegue(withIdentifier:sender:):

触发它们
@IBAction func buttonPressed(_ sender: UIButton) {

    switch sender.titleLabel?.text {
    case "cheer up":
        self.performSegue(withIdentifier: "segueToAct1", sender: nil)

    case "yay":
        self.performSegue(withIdentifier: "segueToAct2", sender: nil)

    default:
        break
    }
}