Выделите UIButton без нескольких изображений
Вопрос
Я перешел по следующей ссылке:
Как программно выделить 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 в режиме просмотра и задайте атрибуты кнопки
-> установите флажок вкл. -> показывает касание при выделении.