gpt4 book ai didi

ios - 单个 View Controller 的多个按钮

转载 作者:行者123 更新时间:2023-11-28 23:52:43 25 4
gpt4 key购买 nike

我正在开发一个应用程序,该应用程序在一个主视图 Controller 上使用多个按钮(可能有 20 个按钮),这些按钮都可以在单独的 View Controller 上的弹出窗口中激活单个选择器 View 。我不认为答案是很多很多的 segues。我应该考虑更好的方法吗?

我在想 - 某种可以通过任何按钮激活的多用途 segue,但不知道这是如何完成的。

感谢任何建议

迈克

最佳答案

将所有按钮设置为相同的操作,例如:

@IBAction func keyPressed(_ sender:UIButton){
// use button title string
self.keyString = sender.titleLabel?.text as! String
// or tag
self.keyTag= sender.tag?

self.performSegue(withIdentifier: "TheSegue", sender: self)
}

然后,您可能希望根据发件人的状态设置要导航到的 View Controller 。因此,您将重写 prepare:forSegue 方法,如下所示。

override func prepare(for segue:UIStoryboardSegue, sender:Any?) {

let destController = segue.destination as! Dest_Controller_Class

// use tag or keyTitle to set controller attributes
// before view is shown

destController.keyTag = self.keyTag
destController.keyString = self.keyString

}

现在,一旦您导航到 Dest_Controller_Class,您将在 View Controller 中本地按下按钮的属性,并可以根据需要更新 View :

class Dest_Controller_Class: UIViewController {
var keyString: String?
var keyTag: Int?
@IBOutlet weak var label: UILabel!

override func viewDidLoad() {

if (keyString != nil) {
label.text = keyString;
// or likewise use tag
} else {
label.text = "keyString not set"
}
}
}

关于ios - 单个 View Controller 的多个按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51748746/

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