gpt4 book ai didi

swift - 如何以编程方式从一个按钮转到多个 View Controller

转载 作者:搜寻专家 更新时间:2023-11-01 06:33:43 25 4
gpt4 key购买 nike

我有一个带有很多(36 个)按钮的 View Controller ,我希望这些按钮中的每一个都根据程序中较早设置的变量转至特定的 View Controller 。换句话说,根据发送到包含按钮的 View Controller 的变量,任何按钮都可能转到 15 个不同的 View Controller ...

我认为如果我单击每个按钮并将其拖到每个 View Controller ,我可以完成这项工作……但这看起来很傻而且很乱。

我试过这样做:

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if variable == "Whatever" {

let send = segue.destination as! AViewController
send.variablesent = (sender as! UIButton).title(for: .normal)!}
}

但这只有在我单击 Storyboard 中的按钮并将其拖动到“AViewController”时才有效。

感谢任何帮助,谢谢!!

最佳答案

为此,您可以从 SourceViewControllerDestinationViewController 而不是从 ButtonController,之后当您在按钮操作中调用 perfromSegue 时,然后在 perfromSegue 调用中将按钮引用作为 sender 传递。

@IBAction func buttonAction(_ sender: UIButton) {
self.performSegue(withIdentifier: "segueIdentifier", sender: sender)
}

现在在 prepareForSegue 中将 sender 转换为 UIButton 并根据它设置标题。

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if variable == "Whatever" {
let send = segue.destination as! AViewController
if let button = sender as? UIButton {
send.variablesent = button.titleLabel?.text ?? "Default value"
}
}
}

关于swift - 如何以编程方式从一个按钮转到多个 View Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44200603/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com