How do I scale a UIButton's imageView?

ios, scale, uibutton

Solution

For the original poster, here is the solution I found:

commentButton.contentHorizontalAlignment = UIControlContentHorizontalAlignmentFill;

This will allow your button to scale horizontally. There is a vertical setting as well.

Took me several hours to figure that one out (the naming of the property is very unintuitive) so figured I'd share.

Problem

I created a UIButton instance named "button" with an image using `[UIButton setImage:forState:]`. The button.frame is larger than the image's size. Now I want to scale this button's image smaller. I tried changing `button.imageView.frame`, `button.imageView.bounds` and `button.imageView.contentMode`, but all seem ineffective. Can anyone help me scale a `UIButton`'s imageView? I created the `UIButton` like this: ``` UIButton *button = [[UIButton alloc] init]; [button setImage:image forState:UIControlStateNormal]; ``` I tried to scale the image like this: ``` button.imageView.contentMode = UIViewContentModeScaleAspectFit; button.imageView.bounds = CGRectMake(0, 0, 70, 70); ``` and this: ``` button.imageView.contentMode = UIViewContentModeScaleAspectFit; button.imageView.frame = CGRectMake(0, 0, 70, 70); ```

Original source

Related problems