Я предполагаю, что вы говорите о UIButton с UIButtonTypeRoundedRect
? Вы не можете изменить цвет фона. Когда вы пытаетесь изменить цвет фона, вы скорее меняете цвет прямоугольника, на который нарисована кнопка (что обычно ясно). Итак, есть два пути. Либо вы подкласса UIButton, либо перезаписываете его метод -drawRect:
, либо создаете изображения для разных состояний кнопок (что отлично подходит).
Если установить фоновые изображения в Interface Builder, вы должны заметить, что IB не поддерживает установку изображения для всех состояний кнопки могут иметь, поэтому я рекомендую установить изображения в коде следующим образом:
UIButton *myButton = [UIButton buttonWithType:UIButtonTypeCustom];
[myButton setBackgroundImage:[UIImage imageNamed:@"normal.png"] forState:UIControlStateNormal];
[myButton setBackgroundImage:[UIImage imageNamed:@"disabled.png"] forState:UIControlStateDisabled];
[myButton setBackgroundImage:[UIImage imageNamed:@"selected.png"] forState:UIControlStateSelected];
[myButton setBackgroundImage:[UIImage imageNamed:@"higligted.png"] forState:UIControlStateHighlighted];
[myButton setBackgroundImage:[UIImage imageNamed:@"highlighted+selected.png"] forState:(UIControlStateHighlighted | UIControlStateSelected)];
В последней строке показано, как установить изображение для выделенного состояния & (это тот, который не может установить IB). Вам не нужны выбранные изображения (строка 6), если вы не хотите, чтобы вы выбрали состояние.
вы можете исправить изображение, или удалить его? kthx;) – stigi
o-0 hmmmm ....., Изображение было прекрасное, но теперь оно больше не появится. Просто удалил его – dubbeat
Это дубликат http://stackoverflow.com/questions/372731/how-can-i-set-a-button-background-color-on-iphone –