Ada*_*ner 31 iphone objective-c uibutton ios ios7
我在viewController中有以下代码,所有的出口和动作都正确连接.的WHITE和PURPLE是我为定义的常量UIColors.我还设置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;
}
Run Code Online (Sandbox Code Playgroud)
当我点击按钮时,文字不像我告诉它的那样变白 viewDidLoad
这里有一些截图,我可以更好地裁剪!正如您在突出显示的状态中所看到的那样,它不是白色,而是像白色和紫色混合.我需要使用UIButtonTypeCustom吗?我听说如果我这样做,我将无法获得iOS 7的优势tintColor.不确定这是怎样的正确方法.提前致谢.

Dav*_*ong 61
你不应该使用UIControlStateSelected吗?
好吧,我只是自己试了一下它不想工作得很好.
您需要将按钮样式设置为自定义.UIButton系统风格做了许多你无法改变的事情.突出显示的按钮状态默认为它自己的实现,如果你的tintcolor,它是一个更轻的版本.
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
[button setTitleColor:self.view.tintColor forState:UIControlStateNormal];
[button setTitleColor:[UIColor whiteColor] forState:UIControlStateSelected];
Run Code Online (Sandbox Code Playgroud)
这应该会得到白色文本背景.
| 归档时间: |
|
| 查看次数: |
24797 次 |
| 最近记录: |