Я установил изображения для состояний кнопки «Обычный», «Выделенный» и «Выбранный», но когда кнопка в выбранном состоянии и я нажимаю / выделяю ее, я не вижу выделенное изображение, а просто изображение серого цвета. Можно ли установить изображение для выделенного состояния при нажатии кнопки?
мой код:
[button setImage:[UIImage imageNamed:@"normal.png"] forState:UIControlStateNormal];
[button setImage:[UIImage imageNamed:@"pressed.png"] forState:UIControlStateHighlighted];
[button setImage:[UIImage imageNamed:@"checked.png"] forState:UIControlStateSelected];
когда я делаю:
[button setSelected:YES];
и нажмите кнопку, изображение «selected.png» не выбирает.
button.adjustsImageWhenHighlighted = NO;
первым.Ответы:
Я нашел решение: нужно добавить дополнение строки
источник
Вы можете сделать это в Интерфейсном Разработчике.
Выберите то, что
UIButton
вы хотите установить,IB
затем перейдите кattributes inspector
.На снимках экрана я использую пользовательский тип кнопки, но это не имеет значения.
источник
Свифт 3
Чтобы установить фоновое изображение, мы можем использовать
setBackgroundImage(_:for:)
Swift 2.x
источник
setImage
)Я думаю, что большинство постеров здесь полностью упускают из виду. У меня такая же проблема. Первоначальный вопрос был о выделенном состоянии выбранной кнопки (СОЧЕТАНИЕ ОБОИХ СОСТОЯНИЙ), которая не может быть установлена в IB и возвращается к состоянию по умолчанию с некоторым затемнением. Единственное рабочее решение, как упоминалось в одном посте
источник
Если у вас есть веская причина для этого, это поможет
добавить эти цели:
источник
В Swift 3.x вы можете установить подсвеченное изображение, когда кнопка выбрана следующим образом:
источник
В Swift вы можете сделать:
источник
Поправь меня, если я ошибаюсь. При выполнении
Вы четко меняете состояние кнопок по выбору. Естественно, с помощью кода, который вы предоставили, изображение будет соответствовать выбранному состоянию в вашем случае.
источник
Если кому-то интересно, как это работает в Swift, вот мое решение:
источник
Свифт 3+
ИЛИ
Это означает, что кнопка текущая в
selected
состоянии, затем вы касаетесь ее, показываетhighlight
состояние.источник
У меня были проблемы с настройкой
imageView.highlighted = NO;
(настройка YES работала правильно, и изображение изменилось на выделенное).Решение звонило
[imageView setHighlighted:NO];
Все работало правильно.
источник
Откуда вы хотите позвонить
Метод:
Кредит выше Хорхе, но я немного его улучшил, дав полное рабочее решение
источник
Xamarin C #
Битовое ИЛИ не работает по какой-то причине
Следующие работы
источник
Если вам нужен подсвеченный оттенок, который ОС предоставляет по умолчанию при нажатии и удерживании пользовательской кнопки для выбранного состояния, используйте этот подкласс UIButton. Написано в Swift 5:
источник