如何设置子类UIButton的突出显示标题颜色?

zlo*_*log 3 uibutton ios

我已经进行了子类化,UIButton并且在按钮突出显示时尝试设置标题颜色.自定义按钮也位于nib文件上.

我有代码:

- (void)layoutSubviews 
{
    [super layoutSubviews];

    self.titleLabel.textColor = [UIColor blueColor];
    [self setTitleColor:[UIColor redColor] forState:UIControlStateHighlighted]; // Offending line

}
Run Code Online (Sandbox Code Playgroud)

但是,当我有线时,视图不会加载(看似进入无限循环并且不显示)setTitleColor:forState:.它应该在其他地方宣布吗?你怎么设置自定义的突出显示标题颜色UIButton?

BJH*_*ios 6

如果你想在layoutSubviews中这样做,这将避免你当前正在创建的无限循环:

- (void)layoutSubviews
{
    [super layoutSubviews];

    if (self.state == UIControlStateHighlighted) {
        self.titleLabel.textColor = [UIColor redColor];
    } else {
        self.titleLabel.textColor = [UIColor blueColor];
    }
}
Run Code Online (Sandbox Code Playgroud)