Como centralizar uma imagem dentro de um UIButton sem esticar as duas direções no Swift?

Estou criando um teclado personalizado e preciso centralizar a imagem do ícone de mudança dentro do botão de mudança. A imagem é 100px x 100px.

No entanto, a moldura do botão em retrato é36pt x 38pte na paisagem, é68pt x 32pt. Tentei usar a propriedade inserir imagem do botão para centralizar a imagem. No entanto, isso não acontece.

Eu tentei e defini as inserções da borda da imagem para(25,25,25,25), a imagem centraliza nos dois tamanhos. No entanto, o ícone fica pequeno demais para ser visto.

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

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

Estou fazendo o botão programaticamente. E preciso do botão de escala para manter a proporção, ou seja,1:1. Sua largura ou altura máxima está sempre ligada à própria altura do botão. A largura / altura da imagem deve ser a altura máxima do botão. E não deve esticar de forma alguma para distorcer o ícone. No entanto, o próprio botão pode esticar.

Preciso que a imagem seja dimensionada de acordo com a moldura do botão, mas mantenha sua proporção. E pode diminuir ou diminuir a escala, mas deve sempre manter a proporção de 1: 1.

Alguma sugestão para resolver este problema?

questionAnswers(4)

yourAnswerToTheQuestion