我有这个函数,一旦点击按钮就会被调用。
我正在尝试向单击的按钮添加 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-推荐答案 strong>
解决方案实际上是使用 [button setTitleColor] 而不是触摸它的属性。
关于添加 subview 后iOS UIButton文本颜色不会改变,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/25732962/
|