在一个UIButton子类:选择时无法设置UIButton的背景颜色?
- (void) setHighlighted:(BOOL)highlighted {
[super setHighlighted:highlighted];
if (highlighted) {
self.backgroundColor = [UIColor redColor];
}
else {
self.backgroundColor = [UIColor blueColor];
}
}
- (void)setSelected:(BOOL)selected {
[super setSelected:selected];
if (selected) {
self.backgroundColor = [UIColor greenColor]; //this happens
}
else {
self.backgroundColor = [UIColor blueColor];
}
}
我看的时候按钮高亮显示红色。但是,当我设置button.selected = YES,我从来没有看到绿色。为什么setHighlighted工作,但setSelected不?
我可以在“发生这种情况”的行上设置一个断点,它就会发生。但按钮的背景颜色不会变为绿色。
您在界面构建器中设置了哪些属性? – Jared 2014-09-19 04:22:40
这里有几个答案。 http://stackoverflow.com/questions/4049103/iphone-how-to-set-backgroundcolor-of-uibutton-with-buttontype-uibuttontypecust它看起来像一个常见的解决方案是设置一个背景图像,基本上是一个1x1像素的一种颜色。此解决方案的工作原理是为每个特定状态设置背景图像。我不确定你的代码为什么不起作用。该按钮在被选中后是否被取消选中? – mitrenegade 2014-09-19 04:55:09