2015-08-27 1 views
0

У меня есть подкласс UIButton, который я анимация, когда пользователь нажимает на него. Когда он не был нажат, UIButton использует «не выбранное» изображение и отлично смотрится, но когда пользователь нажимает на него, я устанавливаю новое «выбранное» изображение.Изменение размера UIButton после установки нового изображения

Это прекрасно работает, за исключением того, что выбранное изображение больше, чем не выбранное изображение, поэтому, когда кнопка устанавливает выбранное изображение, оно не изменяется в соответствии с новым изображением.

Кнопка слишком маленькая, и изображение защемлено и выглядит искаженным.

Я попытался называть некоторые методы, например setNeedsLayout, и setNeedsDisplay (отдельно, а не вместе) после установки нового изображения, но кнопка остается того же размера.

Как я могу получить кнопку для изменения размера, когда я устанавливаю новое изображение на нем?

+0

Вы установили режим содержимого изображения в соответствие с форматом? Это может быть по умолчанию, но я не могу вспомнить с головы. –

+0

Изменение размера кнопки не имеет ничего общего с свойством contentMode. – user3344977

+0

«Кнопка слишком маленькая, и изображение защемлено и выглядит искаженным» обычно имеет все, что связано с режимом содержимого. Кроме того, вы должны просто позволить размеру внутреннего содержимого управлять размером кнопки по большей части. В любом случае, кнопка просто наследуется от UIView в конце дня, что означает, что вы можете просто манипулировать фреймом –

ответ

0

Вы можете установить button.frame в размере изображения.