I’m having trouble figuring out how much I can adjust the imageView property of a UIButton. In the docs, it says:
Although this property is read-only, its own properties are read/write. Use these properties to configure the appearance and behavior of the button’s view.
I’m hoping to perform a transition where I shrink the size of the button in an animation, and I’d like the button’s image to also shrink accordingly. However, I find that I have no control over the size of that image. If I modify either the frame or the bounds of UIButton’s imageView property, nothing seems to happen. The image seems to want to retain it’s standard dimensions. Changing autolayout properties on the imageView or contentMode properties on the button don’t seem to help either.
In fact, the only thing that seems to work at all is to use UIEdgeInsetsMake to “squish” the image from all sides, but that isn’t animatable.
I’d prefer not to use the backgroundImage property either, since I’m already using that to style the button in the first place.
You could add an own UIImageView as subview to the UIButton instead of using the “embedded” imageView.
You can set the frame of “your” image view as usually relative to the surrounding UIButton. You will have full control on it’s position and you will also be able to animate it.