这就是我现在所拥有的,但它没有打开视图控制器。我认为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
}
一个按钮可以有两个分段,但在func shouldPerformSegue(withIdentifier identifier: String, sender: Any?) -> Bool
的覆盖中必须有条件地取消一个分段,这将是一个令人困惑的设计。
我建议从viewController顶部的viewController图标连接两段。在属性检查器中为它们提供标识符,如"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
}
}