Как центрировать изображение внутри кнопки UIB без растяжения в обоих направлениях в Swift?

Я делаю пользовательскую клавиатуру, и мне нужно центрировать изображение значка сдвига внутри кнопки сдвига. Изображение 100px x 100px.

Тем не менее, рамка кнопки в портретной36pt x 38ptи в ландшафте, это68pt x 32pt, Я попытался использовать свойство вставки изображения кнопки для центрирования изображения. Однако это не так.

Я попробовал себя и установил вставки края изображения в(25,25,25,25)изображение центрируется в обоих размерах. Однако значок становится слишком маленьким, чтобы его можно было увидеть.

shiftButton.setImage(UIImage(named: "shift"), forState: .Normal)

shiftButton.imageEdgeInsets = UIEdgeInsetsMake(0,0,0,0)

Я делаю кнопку программно. И мне нужна кнопка для масштабирования с сохранением соотношения сторон, т.е.1:1, Его максимальная ширина или высота всегда привязана к высоте самой кнопки. Ширина / высота изображения должна быть максимальной высоты кнопки. И это не должно растягиваться каким-либо образом, чтобы исказить значок. Однако сама кнопка может растягиваться.

Мне нужно, чтобы изображение масштабировалось в соответствии с рамкой кнопки, но поддерживало соотношение сторон. И он может уменьшать масштаб или увеличивать масштаб, но всегда должен поддерживать соотношение сторон 1: 1.

Есть предложения по решению этой проблемы?

Ответы на вопрос(4)

Ваш ответ на вопрос