У меня есть кнопка UIB, которая при выборе не должна менять состояние при прикосновении. Поведение по умолчанию для него должно быть в UIControlStateHighlighted при прикосновении, и это меня злит.
Предложения?
Ваша кнопка должна иметь buttonType
значение Custom.
В IB вы можете снять флажок «Подсветка настраивает изображение».
Программно вы можете использовать theButton.adjustsImageWhenHighlighted = NO;
Аналогичные параметры доступны и для «отключенного» состояния.
В дополнение к вышеприведенному ответу о снятии отметки «выделение корректирует изображение» в IB, убедитесь, что тип кнопки установлен CUSTOM.
источник
Это будет работать для вас:
3-я строка - это трюк здесь ...
Это работает так же для установки изображения / backgroundImage
источник
adjustsImageWhenHighlighted
Свойство ,UIButton
кажется, затрагивает только фоновое изображение.источник
в равной степени полезно иметь собственный вид отключенной кнопки.
источник
В зависимости от того, что меняется с состояния по умолчанию на выделенное состояние кнопки, вы можете вызвать несколько методов, чтобы установить для них то, что вам нужно. Так что, если изображение меняется, вы можете сделать
Если текст меняется, вы можете сделать
другие подобные функции:
- (void)setTitleColor:(UIColor *)color forState:(UIControlState)state
- (void)setTitleShadowColor:(UIColor *)color forState:(UIControlState)state
источник
Хорошо, вот простое решение, если это сработает для вас, после недели, потрясенной моей головой, мне наконец пришло в голову просто установить выделенное = НЕТ для 1-й строки метода IBAction для TouchUpInside или TouchDown, или как там работает. Для меня это было нормально на TouchUpInside.
источник
Для разработчиков Swifty -
источник
Свифт 3+
источник
только две вещи:
источник
У меня была похожая проблема, и я обнаружил, что «снятие отметки» с «Очистки графического содержимого в конструкторе интерфейса» решило мою проблему
источник
Сделайте вашу кнопку Тип - «Пользовательский» и снимите флажок - Подсветка Настройте изображение, и все готово.
источник
Во избежание установить UIButton в линию разлома на клип , использовать вместо стандартного Truncate Средний
источник