У меня есть UIButton с "настраиваемым" типом со свойством "изображение", которое получает изображение из ресурсов. Изображение меньше кнопки. Я не могу добиться в Interface Builder сохранения исходного размера изображения при масштабировании размеров кнопки, как я хочу.
Как я могу иметь кнопку любого размера в IB, сохраняя исходный размер изображения, выравнивая его по центру, слева направо, внизу, а не на кнопке...? Разве это невозможно без установки UIImageView?
Ответ 1 · рейтинг 19 · XJones
Убедитесь, что свойства contentHorizontalAlignment и contentVerticalAlignment вашей кнопки не установлены на UIControlHorizontalAlignmentFill и UIControlVerticalAlignmentFill соответственно. Эти значения будут масштабировать изображение кнопки, чтобы заполнить рамку кнопки. Любое другое значение выровняет изображение соответствующим образом.
Ответ 2 · рейтинг 4 · freezing_
Используйте передний план изображения, чтобы поместить элементы изображения без изменения размера, найденные в сообщении на stackoverflow, но забудьте, где они находятся.
button.titleEdgeInsets = UIEdgeInsetsMake(0, 10, 0, 0);
button.imageEdgeInsets = UIEdgeInsetsMake(0,-10,0,0);
[button setImage:[UIImage imageNamed:@"back-button"] forState:UIControlStateNormal];