UIButtonにsetImageした際に、iPhoneSEとかiPhone7とかは良い感じで表示されていたけど、試しにiPhone7Plusで表示してみたら、画像が小さく表示されてしまっていた。
そこで、色々調べた結果、以下のコードで上手くいった。
btn.contentHorizontalAlignment = .fill
btn.contentVerticalAlignment = .fill
btn.contentEdgeInsets = UIEdgeInsetsMake(5, 0, 5, 0)
btn.imageView?.contentMode = .scaleAspectFit
- 縦横のalignmentをfillにする事で画像を拡大させる
- 拡大し過ぎるのでEdgeInsetsでpaddingを設定
- 拡大で縦横比がおかしくなるので、contenModeでアスペクト比を維持
端末別対応でif文連発とかやりたくなかったので、解決出来て良かった。
コメント