Cocoa touch UIButton上的文本更改不';t棒

Cocoa touch UIButton上的文本更改不';t棒,cocoa-touch,ios,ipad,interface-builder,uibutton,Cocoa Touch,Ios,Ipad,Interface Builder,Uibutton,我的视图中有一个按钮,上面写着“停止”。按下时,它应该(当然,停止播放)将其标签更改为“RTN为零”。这很简单: stopButton.titleLabel.text=@“RTN归零” 但是,更改仅在瞬间出现。它粘不住。我假设按钮(按下时会突出显示)接受并显示新标签,但不知何故,突出显示只是在稍后才反转,将按钮恢复到按下前的外观,而不尊重标签文本的更改。 按钮是在IB中构思的,而不是以编程方式 我觉得自己很愚蠢。有人能给我指出正确的方向吗?在按钮处理程序中,尝试以下操作: [stopButton

我的视图中有一个按钮,上面写着“停止”。按下时,它应该(当然,停止播放)将其标签更改为“RTN为零”。这很简单:

stopButton.titleLabel.text=@“RTN归零”

但是,更改仅在瞬间出现。它粘不住。我假设按钮(按下时会突出显示)接受并显示新标签,但不知何故,突出显示只是在稍后才反转,将按钮恢复到按下前的外观,而不尊重标签文本的更改。 按钮是在IB中构思的,而不是以编程方式


我觉得自己很愚蠢。有人能给我指出正确的方向吗?

在按钮处理程序中,尝试以下操作:

[stopButton setTitle:@"RTN TO ZERO" forState:UIControlStateNormal];

使用
setTitle:forState:
方法设置不同状态下的标题,而不是直接更改
titleLabel的
text
属性。有关可用状态的详细信息,请查看

Swift版本

myButton.setTitle("button text", for: UIControl.State.normal)

对属性文本使用
setAttributedTitle:for
。有关如何在Swift中生成属性字符串的信息,请参见。

您有哪些事件的代码来更改标题?你能提供更多的细节吗?你说得对。阅读能力是一个优势。正如我所说,我觉得自己很愚蠢。非常感谢你!作为旁注;如果在IB中使用属性文本,则此方法无效。必须使用setAttributedTitle:forState:。