kubou.dev();

好きな言葉は一石二鳥

UIImageViewにて、画像を自動リサイズ

self.contentMode = UIViewContentModeScaleAspectFill;
self.clipsToBounds = YES;
  • UIViewContentModeScaleToFill
  • Viewのサイズと画像のサイズが同じになります。
  • UIViewContentModeScaleAspectFit
  • アスペクト比を維持したまま、画像のすべてが表示されるようにリサイズされます。
  • UIViewContentModeScaleAspectFill
  • アスペクト比を維持したまま Viewに空きがないように表示されます。 Viewと画像のアスペクト比が違う場合は、その分はみ出ます。 大量表示にはコストがかかるかかも。
  • UIViewContentModeRedraw
  • 現在のコンテンツモードにかかわらず、setNeedsDisplayまたはsetNeedsDisplayInRect:を呼び出すことで、常にビューのコンテンツを強制的に再描画できます。 #iOSViewプログラミングガイドにて、できるだけ使用を避けるようにとの記述あり。
  • UIViewContentModeCenter : 中央
  • UIViewContentModeTop : 上
  • UIViewContentModeBottom : 下
  • UIViewContentModeLeft : 左
  • UIViewContentModeRight : 右
  • UIViewContentModeTopLeft : 左上
  • UIViewContentModeTopRight : 右上
  • UIViewContentModeBottomLeft : 左下
  • UIViewContentModeBottomRight : 右下
  • それぞれ画像のサイズを維持しつつ指定された位置に表示されます。