Может ли кнопка иметь два перехода к двум различным контроллерам представления / как я могу кодировать изменение контроллера представления без перехода? - PullRequest
0 голосов
/ 22 февраля 2020

Это то, что у меня сейчас, но оно не открывает контроллер вида. Я не думаю, что мой let act1 c = 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
    } 

1 Ответ

1 голос
/ 22 февраля 2020

Вы можете иметь 2 сегмента от одной кнопки, но тогда вам придется условно отменить один с переопределением 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
    }
}
...