UIButton选择的文本未显示为选定状态

时间:2015-08-20 14:17:31

标签: ios objective-c uibutton

所有

我有一个包含按钮的UI元素。我在按钮上设置文本,同时设置所选状态。见下文:

- (void)setText:(NSString *)text {
    self.inputButton.selected = text != nil; // select the buttons if the text is not nil
    self.cancelButton.selected = text != nil;

    [self.inputButton setTitle:text forState:UIControlStateSelected];
    [self.inputButton setTitle:text forState:UIControlStateHighlighted];
}

在视图控制器中填写时,它正常工作。

但是,当我从前一个视图控制器传递文本时,不会显示所选的状态文本。 cancelButton选定状态正常工作,并且应该选择inputButton状态,但是不显示所选状态文本。

我不知道是不是因为按钮没有重绘或什么?我已经尝试了所有[self layoutIfNeed]和[self setNeedsDisplay]没有运气。有谁知道发生了什么事?

2 个答案:

答案 0 :(得分:0)

您可以检查添加以下代码行。

- (void)setText:(NSString *)text {
    self.inputButton.selected = text != nil; // select the buttons if the text is not nil
    self.cancelButton.selected = text != nil;

    [self.inputButton setTitle:text forState:UIControlStateSelected];
//Start:Added line of Code
    [self.inputButton setTitle:text forState:UIControlStateNormal];
//End:
    [self.inputButton setTitle:text forState:UIControlStateHighlighted];
}

谢谢&的问候,

阿米特

答案 1 :(得分:0)

我想出了这个问题。我正在使用选定和突出显示的状态。出于一些时髦的原因,这就是创建一个按钮状态可能为5的情况。我通过不以任何方式解决UIControlStateHighlighted来解决问题。