I am making a custom keyboard and I need to centre the image of the shift icon inside the shift button. The image is 100px x 100px.
However, the button frame in portrait is 36pt x 38pt
, and in landscape, it is 68pt x 32pt
. I have tried using button image inset property to centre the image. However, it does not does so.
I tried myself and set the image edge insets to (25,25,25,25)
, the image centres in both sizes. However, the icon becomes too small to see.
shiftButton.setImage(UIImage(named: "shift"), forState: .Normal)
shiftButton.imageEdgeInsets = UIEdgeInsetsMake(0,0,0,0)
I am making the button programatically. And, I need the button to scale maintaining its aspect ratio i.e. 1:1
. Its maximum width or height is always tied to the button's height itself. The image width/height should be maximum of button's height. And, it should not stretch in any way to distort the icon. However, the button itself can stretch.
I need the image to scale according to button frame but maintain its aspect ratio. And, it can down scale or up scale, but should always maintain the 1:1 aspect ratio.
Any suggestions for solving this problem?