我正在尝试将一个变量分配给一个按钮并调用该变量以将其传递给另一个 View Controller 。
目前我正在发送这样一个按钮的标题:
((sender as! UIButton).titleLabel?.text)!
但是我有一个按钮,我想将一个字符串发送到另一个与其标题不同的 View Controller 。我尝试在身份检查器的“标签”位置添加一些东西,但这似乎不是正确的方法。
感谢任何建议,谢谢!
最佳答案
首先在下一个 ViewController 中为按钮创建一个 outlet 并添加一个字符串变量并使用方法 setTitle(_ title: String?, for state: UIControlState)
设置标题在viewDidLoad中
class SecondViewController: UIViewController {
@IBOutlet weak var button: UIButton!
var buttonText: String?
override func viewDidLoad() {
super.viewDidLoad()
if let buttonText = buttonText {
button.setTitle(buttonText, for: .normal)
}
}
}
然后在 FirstViewController 中将文本分配给 SecondVC 中的字符串变量,如下所示
class FirstViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
@IBAction func buttonClicked(_ sender: UIButton) {
self.performSegue(withIdentifier: "CustomSegue", sender: self)
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "CustomSegue" {
let vc = segue.destination as? SecondViewController
vc?.buttonText = "ButtonTitle"
}
}
}
关于ios - 如何将变量分配给按钮或从按钮调用变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44245511/