问题很简单。我有一个UIButton, currencySelector,我想通过编程改变文本。以下是我所拥有的:
currencySelector.text = "foobar"
Xcode给了我一个错误“Expected Declaration”。我做错了什么,我如何使按钮的文本更改?
问题很简单。我有一个UIButton, currencySelector,我想通过编程改变文本。以下是我所拥有的:
currencySelector.text = "foobar"
Xcode给了我一个错误“Expected Declaration”。我做错了什么,我如何使按钮的文本更改?
当前回答
斯威夫特5.0
// Standard State
myButton.setTitle("Title", for: .normal)
其他回答
只是为那些刚接触Swift和iOS编程的人澄清一下。下面这行代码:
button.setTitle("myTitle", forState: UIControlState.Normal)
只适用于iboutlet,不适用ibaction。
因此,如果您的应用程序使用按钮作为函数来执行某些代码,例如播放音乐,并且您希望基于切换变量将标题从播放更改为暂停,则还需要为该按钮创建一个IBOutlet。
如果你尝试使用按钮。setTitle针对IBAction,你会得到一个错误。一旦你知道了,这是显而易见的,但对于新手(我们都是),这是一个有用的建议。
斯威夫特3
当你做@IBAction时:
@IBAction func btnAction(_ sender: UIButton) {
sender.setTitle("string goes here", for: .normal)
}
这将发送方设置为UIButton(而不是Any),因此它将btnAction作为一个UIButton
斯威夫特3
let button: UIButton = UIButton()
button.frame = CGRect.init(x: view.frame.width/2, y: view.frame.height/2, width: 100, height: 100)
button.setTitle(“Title Button”, for: .normal)
截至2021年12月12日- Swift版本5.5.1^假设你已经有一个IBOutlet链接到你的按钮在正常状态。
yourButton.setTitle("Title of your button", for: .normal)
Swift 4.2及以上版本
使用按钮的IBOutlet
btnOutlet.setTitle("New Title", for: .normal)
使用按钮的IBAction
@IBAction func btnAction(_ sender: UIButton) {
sender.setTitle("New Title", for: .normal)
}