UIButtonのimageを良い感じに拡大する

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文連発とかやりたくなかったので、解決出来て良かった。

コメント

タイトルとURLをコピーしました