UIButton上的文本更改不会粘

问题描述 投票:19回答:2

我的视图中有一个说“停止”的UIButton。当按下时,它应该(当然,停止播放)并将其标签更改为“RTN TO ZERO”。这很简单:

stopButton.titleLabel.text = @"RTN TO ZERO";

但是,更改仅在瞬间出现。它不坚持。我假设按钮(在按下时突出显示)接受并显示新标签,但不知何故,突出显示仅在稍后反转,将按钮恢复到按下之前的状态,而不是标记文本更改。该按钮在IB中构思,而不是以编程方式构思。

我觉得我好笨。有人可以指点我正确的方向吗?

cocoa-touch ios ipad interface-builder uibutton
2个回答
52
投票

在按钮处理程序中,试试这个:

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

而不是直接改变texttitleLabel属性使用setTitle:forState:方法来设置不同状态的标题。请查看manual了解可用状态的详细信息。


3
投票

Swift版本

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

使用setAttributedTitle:for作为属性文本。有关如何在Swift中创建属性字符串,请参阅here

© www.soinside.com 2019 - 2024. All rights reserved.