我想要一个带有自定义图像和蓝色文本的UIBarButtonItem。我首先创建了一个带有文本,字体颜色和图像的UIButton,然后为UIBarButtonItem设置自定义视图。
问题是当我禁用UIBarButtonItem时,文本会变回白色。我不明白为什么。
UIButton *customButton = [UIButton buttonWithType:UIButtonTypeCustom];
[customButton setBackgroundImage:[UIImage imageNamed:@"images/ButtonHeader"] forState:UIControlStateNormal];
[customButton setTitle:myDynamicText forState:UIControlStateNormal];
[customButton setFrame:CGRectMake(0.0f, 0.0f, 70.0f, 44.0f)];
[customButton addTarget:myTarget action:myAction forControlEvents:UIControlEventTouchUpInside];
[customButton.titleLabel setFont:[UIFont fontWithName:@"Helvetica-Bold" size:12.0f]];
[customButton.titleLabel setTextColor:[UIColor blueColor]];
UIBarButtonItem *customBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:customButton];
self.navigationBar.rightBarButtonItem = customBarButtonItem;
self.navigationBar.rightBarButtonItem.enabled = NO;
我真正想要做的是为启用和禁用状态设置不同的文本颜色,但是如果有人可以告诉我为什么文本在启用= NO时变为白色,以及如何阻止它,我可以自己解决这个问题。< / p>
答案 0 :(得分:3)
您不应该通过获取这样的标签来设置字体颜色。您需要在按钮上配置它
[button setTitleColor:[UIColor blueColor] forState:UIControlStateNormal];
UIControlStateNormal
将用于设置默认值,但您可以更改所有不同状态的颜色。 Control State