问题很简单。我有一个UIButton, currencySelector,我想通过编程改变文本。以下是我所拥有的:

currencySelector.text = "foobar"

Xcode给了我一个错误“Expected Declaration”。我做错了什么,我如何使按钮的文本更改?


当前回答

截至2021年12月12日- Swift版本5.5.1^假设你已经有一个IBOutlet链接到你的按钮在正常状态。

yourButton.setTitle("Title of your button", for: .normal)

其他回答

斯威夫特5:

    let controlStates: Array<UIControl.State> = [.normal, .highlighted, .disabled, .selected, .focused, .application, .reserved]
    for controlState in controlStates {
        button.setTitle(NSLocalizedString("Title", comment: ""), for: controlState)
    }

斯威夫特3

当你做@IBAction时:

@IBAction func btnAction(_ sender: UIButton) {
  sender.setTitle("string goes here", for: .normal)
}

这将发送方设置为UIButton(而不是Any),因此它将btnAction作为一个UIButton

在Swift 3,4,5中:

button.setTitle("Button Title", for: .normal)

否则:

button.setTitle("Button Title", forState: UIControlState.Normal)

还必须为按钮声明@IBOutlet。

截至2021年12月12日- Swift版本5.5.1^假设你已经有一个IBOutlet链接到你的按钮在正常状态。

yourButton.setTitle("Title of your button", for: .normal)

斯威夫特5.0

// Standard State
myButton.setTitle("Title", for: .normal)