Выделите UIButton без нескольких изображений

StackOverflow https://stackoverflow.com/questions/1229139

  •  22-07-2019
  •  | 
  •  

Вопрос

Я перешел по следующей ссылке:

Как программно выделить UIButton?

В первых двух строках их кода я нашел:

UIImage* normalImage = [_infoButton imageForState:UIControlStateNormal];<br>
UIImage* highlighted = [_infoButton imageForState:UIControlStateHighlighted];

Похоже, что они использовали несколько изображений для своей информационной кнопки.У меня есть приложение с множеством кнопок, и каждая кнопка имеет разные изображения, что делает мое приложение очень огромным по размеру.Если я создам разные изображения для normalState и highlightedState размер моего приложения увеличивается вдвое.Итак, мне нужны некоторые идеи, такие как размытие, или уменьшение размера кнопки или изображения, или уменьшение альфа-диапазона, для моего изображения кнопки.Я не знаю кода, и это мой вопрос.

Как анимировать / выделить кнопку при нажатии на iPhone?

Заранее благодарю.

Это было полезно?

Решение

Во-первых, "очень большой по размеру" это относительная вещь. Превышает лимит в 10 МБ загрузку по сети? Если нет, может, вам не стоит об этом беспокоиться.

Во-вторых, вы пытались сохранить изображения в форме с лучшим сжатием, такой как JPEG?

В-третьих, это "разные изображения"? существенно отличается, как в «В одном штате он выглядит как слон, а в другом - как Тадж-Махал»? Или это вопрос необходимости "разных состояний слона"? Похоже на последнее.

Одна из возможностей - установить некоторые свойства кнопки, чтобы активировать другое поведение при рисовании. Посмотрите на эти два варианта:

button.reversesTitleShadowWhenHighlighted
button.adjustsImageWhenHighlighted 

или попробуйте изменить

- (void)setTitleColor:(UIColor *)color forState:(UIControlState)state; 

Они фактически предоставили довольно много вариантов.

Другие советы

Хорошо !У меня есть одно решение.

Это очень похоже на мое требование.Да, могут быть и другие решения,

я нахожу, что ближе к моей просьбе.

выберите свою UIButton в режиме просмотра и задайте атрибуты кнопки

-> установите флажок вкл. -> показывает касание при выделении.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top