UIView には内容をどのようにスケーリングするかを指定するための contentMode プロパティがある。UIImageView ではよく使うと思う。
UIButton のアイコン部分にあたる UIImageView にも当然適用されるものだと思っていたが、どうやらうまく働いてくれないらしい。
これだめっぽい
UIButton *btn;
btn.imageView.contentMode = UIViewContentModeScaleAspectFill;
こっちではできる
UIButton *btn;
// 個別に指定する
btn.contentVerticalAlignment = UIControlContentVerticalAlignmentFill;
btn.contentHorizontalAlignment = UIControlContentHorizontalAlignmentFill;
Aspect Fill はどうやるんだろう。