基本上我有一个改变标题的按钮,如果按钮标题是我希望按钮将用户带到不同的地方,如果按钮标题是别的东西

let act1 = act1ViewController()
let act2 = act2ViewController()

override func viewDidLoad() {
    super.viewDidLoad()

    self.buttonName.setTitle(self.text, for: .normal)
    // Do any additional setup after loading the view.
}

@IBAction func buttonPressed(_ sender: UIButton) {

   if text == "cheer up" {
    self.present(act1, animated: true, completion: nil)

}
   else if text == "yay" {
    self.present(act2, animated: true, completion: nil)
    }

}

#1楼 票数:0

根据 if 检查实例化 ViewController,并显示它:

let storyBoard: UIStoryboard = UIStoryboard(name: "MyStoryboard", bundle: nil)
let destinationVC = storyBoard.instantiateViewController(withIdentifier: "ViewControllerIdentifier") as! NewViewController
present(destinationVC, animated: true, completion: nil)

只记得在故事板中设置标识符

#2楼 票数:0

如果您要显示的 2 个控制器是,

class Act1ViewController: UIViewController {
    //your code...
}

class Act2ViewController: UIViewController {
    //your code...
}

你只需要穿上的switch-case buttonName's title ,并提交相关负责人act1act2 创建act1act2storyboard

@IBAction func buttonPressed(_ sender: UIButton) {
    switch sender.titleLabel?.text {
    case "cheer up":
        if let act1 = self.storyboard?.instantiateViewController(withIdentifier: "Act1ViewController") as? Act1ViewController {
            self.present(act1, animated: true, completion: nil)
        }

    case "yay":
        if let act2 = self.storyboard?.instantiateViewController(withIdentifier: "Act2ViewController") as? Act2ViewController {
            self.present(act2, animated: true, completion: nil)
        }

    default:
        break
    }
}

}

不要忘记将Act1ViewControllerAct2ViewController设置为storyboardID中各个控制器的storyboard

  ask by Alicia I translate from so

未解决问题?本站智能推荐:

1回复

对于swiftiOS应用程序开发人员,如何转到仅占屏幕一部分的视图?

GroupMe 就是一个很好的例子。 我想实现类似的东西.. 当您按下左上角的图标时,它会将您带到左侧的视图,当您单击该视图的右侧(聊天)时,它将带您返回
1回复

一个按钮可以有两个转场到两个不同的视图控制器/如何在没有转场的情况下编写视图控制器更改?

这就是我现在拥有的,但它没有打开视图控制器。 我不认为我的 let act1c = act1ViewController() 有效。
2回复

如何在执行segue后销毁视图控制器的实例

我使用performSegueWithIdentifier在视图控制器之间导航 我有一个包含多行的tableView,当一行被操作时,我调用webViewController来播放选定的ressource与segue 关联: 而且,在WebViewController上,我在列表上有
2回复

目标视图控制器何时在segue期间初始化?

我正在尝试编写一个协议和一个自定义 UIStoryboardSegue 类,这将允许我在我的 UIViewControllers 中轻松实现自定义转换: 基本上,您只需在您想要的任何 UIViewController 中实现该协议,然后创建 JFTransitionControllerSegue 类
1回复

Swift-永久视图控制器Segue(导航控制器之外)

将一个视图控制器永久地移动到另一个视图控制器时遇到了一些麻烦。 正常的转场似乎都有一个“返回”选项。 我知道我可以将 VC 嵌入到导航控制器中并创建一个自定义 segue 来重写层次结构/更改根 VC 但我想避免使用导航控制器,因为它会在我稍后添加 SWRevealViewController 时混
1回复

为什么segue在这种情况下没有开火

我将一个segue从一个视图控制器的黄色部分拖放到另一个视图控制器,而通过黄色部分我的意思是: 然后我向服务器进行网络呼叫,处理响应,然后我要触发segue,我这样做: 如您所见,我正在打电话给perform segue 然后我添加prepareForSegue 我把断点放在了
1回复

在不使用情节提要的情况下更改segue动画?

我目前正在Swift项目中以编程方式进行所有操作。 我不会以任何形式使用Mainstoryboard。 我在AppDelegate中设置了rootViewController,执行segues /“ show”控制器的方式是使用以下任一方法: 要么 使用此选项,仅允许我将动画设置为t
3回复

(Swift)当多个视图控制器导致相同视图时,展开segue?

我正在尝试编写一个刽子手游戏,并且在解开细分时遇到麻烦。 我有多个视图控制器,最终导致相同的视图,用户在其中播放实际的刽子手。 但是,根据呈现控制器,我希望游戏处于不同的“模式”(即:多人游戏,单人游戏等)。 我正在尝试添加一个可以解除前一个视图控制器的播放按钮,但是当用户可以使用多个路径