我的视图中有一个说“停止”的UIButton。当按下时,它应该(当然,停止播放)并将其标签更改为“RTN TO ZERO”。这很简单:
stopButton.titleLabel.text = @"RTN TO ZERO";
但是,更改仅在瞬间出现。它不坚持。我假设按钮(在按下时突出显示)接受并显示新标签,但不知何故,突出显示仅在稍后反转,将按钮恢复到按下之前的状态,而不是标记文本更改。该按钮在IB中构思,而不是以编程方式构思。
我觉得我好笨。有人可以指点我正确的方向吗?
在按钮处理程序中,试试这个:
[stopButton setTitle:@"RTN TO ZERO" forState:UIControlStateNormal];
而不是直接改变text的titleLabel属性使用setTitle:forState:方法来设置不同状态的标题。请查看manual了解可用状态的详细信息。
text
titleLabel
setTitle:forState:
Swift版本
myButton.setTitle("button text", for: UIControl.State.normal)
使用setAttributedTitle:for作为属性文本。有关如何在Swift中创建属性字符串,请参阅here。
setAttributedTitle:for