iphone: невозможно изменить фон кнопок - PullRequest
1 голос
/ 06 мая 2011

У меня есть ситуация, я пытаюсь изменить фоновое изображение из 4 кнопок следующим образом:

if(some condition){
[firstSeverityButton setBackgroundImage:[UIImage imageNamed:@"greySeverity.jpg"] forState:UIControlStateDisabled]; 
[secondSeverityButton setBackgroundImage:[UIImage imageNamed:@"greySeverity.jpg"] forState:UIControlStateNormal];
[thirdSeverityButton setBackgroundImage:[UIImage imageNamed:@"greySeverity.jpg"] forState:UIControlStateNormal];
[fourthSeverityButton setBackgroundImage:[UIImage imageNamed:@"greySeverity.jpg"] forState:UIControlStateNormal]; 
[fifthSeverityButton setBackgroundImage:[UIImage imageNamed:@"redSeverity.png"] forState:UIControlStateNormal];
 }

Но фон остальных четырех исчезает, когда я прикасаюсь к любому Пожалуйста, просветите меня об этом, как его можно решить. Спасибо заранее.

1 Ответ

0 голосов
/ 28 марта 2012

Может быть, вы ищете радиокнопку, Вы можете записать собственный класс для радиокнопки и заставить все работать легко

[firstSeverityButton setBackgroundImage:[UIImage imageNamed:@"greySeverity.jpg"] forState:UIControlStateDisabled]; 

Этот код на самом деле работает отлично, с каждым состоянием управления. Я думаюпроблема заключается в исходном изображении для кнопки и текущем состоянии кнопки (как в кончике, так и в коде)

состояние кнопок можно изменить с помощью

button.enabled=yes;
button.highlighted = NO;
button.selected = NO;

при настройке изображенияспециально для состояния элемента управления, изменение изображения появляется в этом конкретном состоянии элемента управления. Таким образом, изменение зависит как от исходного изображения, так и от текущего состояния элемента управления кнопки

ПРИМЕЧАНИЕ. Мы применяем изменение к фоновому изображению.является свойством изображения для кнопки, которая может фактически скрыть изменения фонового изображения. Если вы установите изображение

[firstSeverityButton setImage:[UIImage imageNamed:@"greySeverity.jpg"] forState:UIControlStateDisabled]; 

в любом месте кода и, возможно, оно может скрыть настройку фонового изображения.

Также есть вероятность ошибки в вашем цикле if-else ... пройдитесь по циклам и проверьте все условия, является лиизображения установлены правильно

Happy Coding:)

...