如何更改UIButton上文本的颜色。这是我目前的代码:
UIButton *b1 = [[UIButton alloc] init];
b1.frame = CGRectMake(280,395,30,30);
[[b1 layer] setCornerRadius:8.0f];
[[b1 layer] setMasksToBounds:YES];
[[b1 layer] setBorderWidth:1.0f];
[[b1 layer] setBackgroundColor:[botCol CGColor]];
b1.titleLabel.font = [UIFont boldSystemFontOfSize:24];
[b1 setTitleColor:[UIColor redColor] forState:UIControlEventAllEvents];
[b1 addTarget:self action:@selector(NextButtonPressed:) forControlEvents:UIControlEventTouchUpInside];
[b1 setTitle:@">" forState:UIControlStateNormal];
[self.view addSubview:b1];
这是它的样子(忽略背景颜色和东西):
现在,我怎样才能让箭头变红?如您所见,我已经拥有以下内容:
[b1 setTitleColor:[UIColor redColor] forState:UIControlEventAllEvents];
但它不起作用。
答案 0 :(得分:8)
尝试设置各个事件,例如:
[b1 setTitleColor:[UIColor redColor] forState:UIControlStateNormal];
答案 1 :(得分:1)
您的原始代码无效的原因是您传递的是UIControlEvents
参数而不是UIControlState
参数。
[b1 setTitleColor:[UIColor redColor] forState:UIControlStateNormal];
这将设置正常状态的颜色,除非您为其他状态设置颜色,否则它将在所有状态中保持不变。要更改其他状态的颜色,只需使用其他状态(UIControlStateNormal
,UIControlStateHighlighted
,UIControlStateDisabled
,UIControlStateSelected
)调用相同的方法:
[b1 setTitleColor:[UIColor blueColor] forState:UIControlStateSelected];