Выделите UIButton без нескольких изображений - PullRequest
0 голосов
/ 04 августа 2009

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

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

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

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

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

Как анимировать / подсвечивать нажатие кнопки на iPhone?

Заранее спасибо.

Ответы [ 2 ]

3 голосов
/ 04 августа 2009

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

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

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

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

button.reversesTitleShadowWhenHighlighted
button.adjustsImageWhenHighlighted 

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

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

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

1 голос
/ 04 августа 2009

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

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

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

выберите UIButton в поле зрения & установить атрибуты кнопок

-> флажок включен -> показывает Touch on Highlight.

...