在一個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