Во-первых, «очень большой по размеру» - вещь относительная. Превышает лимит в 10 МБ загрузку по сети? Если нет, возможно, вам не стоит об этом беспокоиться.
Во-вторых, вы пытались сохранить изображения в форме с лучшим сжатием, такой как JPEG?
В-третьих, существенно ли различаются эти «разные образы», например: «В одном штате это похоже на слона, а в другом - на Тадж-Махал»? Или дело в разных «состояниях слона»? Звучит как последний.
Одна из возможностей - установить некоторые свойства кнопки, чтобы активировать различное поведение при рисовании. Посмотрите на эти два варианта:
button.reversesTitleShadowWhenHighlighted
button.adjustsImageWhenHighlighted
или попробуйте изменить
- (void)setTitleColor:(UIColor *)color forState:(UIControlState)state;
Они фактически предоставили довольно много вариантов.