如何使按钮在不同的视图控制器上更改另一个按钮的标题

Posted

技术标签:

【中文标题】如何使按钮在不同的视图控制器上更改另一个按钮的标题【英文标题】:How to make a button change another button's title on a different view controller 【发布时间】:2017-03-17 22:48:06 【问题描述】:

我正在尝试让按钮将其标题发送到新视图控制器,并且在新视图控制器上有一个按钮将其标题设置为原始按钮标题。

我知道如何在一个视图控制器上执行此操作:

@IBAction func buttonPressed(_ sender: Any) 
        buttonOne.setTitle("Hello", for: .normal)
        buttonTwo.setTitle("Hi there", for: .normal)

但不是在另一个...

我想也许可以使用

override func prepare(for segue: UIStoryboardSegue, sender: Any?) 
    let sendTitle = segue.destination as! ViewControllerTwo
    sendTitle.notesent = sender as! String

但我收到一条错误消息,提示无法将按钮转换为字符串,这对我来说很有意义,但我不确定如何定位作为按钮标题的字符串...

非常感谢您的帮助!

【问题讨论】:

这样做-: if let buttonTitle = sender.title(for: .normal) print(buttonTitle) 【参考方案1】:

从您的问题看来,您只是想知道如何从按钮中获取标题。

在您的代码中,您必须将sender as! String

(sender as! UIButton).title(for: .normal)

【讨论】:

非常感谢。完美的。我需要添加一个“!”在你的代码之后,但它解决了我的问题。感谢您回答我在堆栈上的第一个问题!

以上是关于如何使按钮在不同的视图控制器上更改另一个按钮的标题的主要内容,如果未能解决你的问题,请参考以下文章

如何使选定的单选按钮根据另一个单选按钮更改另一个状态来更改一个状态?

如何在不发送错误的情况下使按钮转到另一个视图控制器?

如何使 segue 等待功能在按钮按下时完成?

按下后退按钮后,从另一个视图控制器更改按钮

如何在iphone中更改下一个视图之前突出显示按钮?

如何更改后退按钮上的文本?