OStack程序员社区-中国程序员成长平台

标题: 添加 subview 后iOS UIButton文本颜色不会改变 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 01:42
标题: 添加 subview 后iOS UIButton文本颜色不会改变

我有这个函数,一旦点击按钮就会被调用。

我正在尝试向单击的按钮添加 View ,向未单击的按钮添加 View 。

这是我的 View 的初始化:

/**
 Create the bottom border views
 */
- (void) createBottomBorderViews {
    UIButton* button = _albumsTypesButtons[0];
    //create layers
    _clickedButtonBorder = [[UIView alloc] initWithFrame:CGRectMake(0, 26, button.frame.size.width, 2)];
    _unClickedButtonBorder = [[UIView alloc] initWithFrame:CGRectMake(0, 27, button.frame.size.width, 1)];

    //set the clicked layer
    _clickedButtonBorder.backgroundColor = [UIColor colorWithRed:86/255.0 green:88/255.0 blue:87/255.0 alpha:1.0];

    //set the unclicked layer
    _unClickedButtonBorder.backgroundColor = [UIColor colorWithRed:86/255.0 green:88/255.0 blue:87/255.0 alpha:1.0];
}

这是根据按钮的状态添加 View 并更改文本颜色

-(void) setButtonsVisualsUIButton*)clickedButton {
    [_clickedButtonBorder removeFromSuperview];
    [_unClickedButtonBorder removeFromSuperview];
    for (UIButton* button in _albumsTypesButtons)
    {
        if (button == clickedButton)
        {
            button.titleLabel.textColor = [UIColor colorWithRed:225/255.0 green:112/255.0 blue:119/255.0 alpha:1.0];
            [button addSubview:_clickedButtonBorder];
        }
        else
        {
            button.titleLabel.textColor = [UIColor colorWithRed:199/255.0 green:200/255.0 blue:196/255.0 alpha:1.0];
            [button addSubview:_unClickedButtonBorder];
        }
    }
}

我的问题:

将 View 作为 subview 添加到按钮时,它不会改变 文字颜色...

我认为可能是层或类似的东西,但它真的不知道



Best Answer-推荐答案


解决方案实际上是使用 [button setTitleColor] 而不是触摸它的属性。

关于添加 subview 后iOS UIButton文本颜色不会改变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25732962/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4