我在一个视图控制器中有以下代码,所有的outlet和action都已正确连接。 WHITE
和 PURPLE
是我为其定义常量的 UIColor。我还将 UIWindow
的 tintColor
设置为 PURPLE
,这会向下传递到按钮。
- (void)viewDidLoad {
[super viewDidLoad];
[button setTitleColor:[UIColor whiteColor] forState:UIControlStateHighlighted];
button.backgroundColor = WHITE;
button.layer.borderWidth = 1.0;
button.layer.masksToBounds = YES;
button.layer.cornerRadius = 5.0;
button.layer.borderColor = PURPLE.CGColor;
}
-(IBAction) buttonTouchDown:(id)sender {
button.backgroundColor = PURPLE;
button.layer.borderColor = WHITE.CGColor;
}
-(IBAction) buttonTouchUpOutside:(id)sender {
button.backgroundColor = WHITE;
button.layer.borderColor = PURPLE.CGColor;
}
-(IBAction) buttonTouchUpInside:(id)sender {
button.backgroundColor = WHITE;
button.layer.borderColor = PURPLE.CGColor;
}
当我点击按钮时,文本不会变成白色,就像我在viewDidLoad
中告诉它的那样。这里有一些截图,我可以将它们剪裁得更好!正如您在高亮状态中所看到的,它不是白色,而是白色和紫色混合。我需要使用
UIButtonTypeCustom
吗? 我听说如果这样做,我将无法获得iOS 7与tintColor
进行魔术的优势。 不确定正确的方法是什么。提前致谢。
![normalState](https://istack.dev59.com/Bb3BX.webp)
![highlightedState](https://istack.dev59.com/hwtzM.webp)