关于ios:以编程方式快速更改UIButton的文本

Changing text of UIButton programmatically swift

简单问题在这里。 我有一个UIButton,currencySelector,我想以编程方式更改文本。 这就是我所拥有的:

1
currencySelector.text ="foobar"

Xcode给出了错误"预期声明"。 我做错了什么,如何让按钮的文字改变?


在Swift 3,4,5中:

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

除此以外:

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


只是对Swift和iOS编程新手的澄清。下面的代码行:

1
button.setTitle("myTitle", forState: UIControlState.Normal)

仅适用于IBOutlets,而不是IBActions

因此,如果您的应用使用按钮作为执行某些代码的功能,比如播放音乐,并且您希望根据切换变量将标题从Play更改为Pause,则还需要创建为那个按钮。

如果您尝试对IBAction使用button.setTitle,则会出现错误。一旦你知道它就很明显,但对于新手(我们都是),这是一个有用的提示。


斯威夫特4:

1
2
3
    for state: UIControlState in [.normal, .highlighted, .disabled, .selected, .focused, .application, .reserved] {
        button.setTitle(NSLocalizedString("Title", comment:""), for: state)
    }


斯威夫特3:

设置按钮标题:

1
2
3
4
5
//for normal state:
my_btn.setTitle("Button Title", for: .normal)

// For highlighted state:
my_btn.setTitle("Button Title2", for: .highlighted)

Swift 3.0

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

在归因时更改标题有点不同:

我遇到了一个问题:如果你有一个带有归属标题的UIButton,你必须使用:

1
my_btn.setAttributedTitle(NSAttributedString(string: my_title), for: my_state)

as,根据Apple SetTitle Doc:

If you set both a title and an attributed title for the button, the button prefers the use of the attributed title over this one.

我有一个属性标题,我试着在它上面设置标题,没有效果......


斯威夫特3

当你做@IBAction时:

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

这将发件人设置为UIButton(而不是Any),因此它将btnAction定位为UIButton


斯威夫特4.2及以上

使用按钮的IBOutlet

1
btnOutlet.setTitle("New Title", for: .normal)

使用按钮的IBAction

1
2
3
@IBAction func btnAction(_ sender: UIButton) {
  sender.setTitle("New Title", for: .normal)
}

使用swift为Xcode中的按钮设置标题 - 04:
首先创建一个名为setTitle的方法,其参数标题和UIController状态如下所示;

1
2
3
func setTitle(_ title : String?, for state : UIControl.State)   {

}

并在您的按钮操作方法中调用此方法
喜欢 ;

1
yourButtonName.setTitle("String", for: .state)

斯威夫特3

1
2
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)