*

UIImageViewのcontentModeを実際に試してみた。

   

IMG_1341

カメラアプリを作っていて、UIImageViewのcontentModeプロパティの設定が無性に気になったりして。

実際にはUIViewContentModeScaleAspectFitあたりしか使わないんですが、じゃあ実際にはどうなるのよ?っということで、

以下のサイト様を参考に試してみました。

画像サイズにあわせてUIImageViewに貼付ける – わっふるわっふる
知っていると便利な UIView の contentMode – Fenrir Developer’s Blog

まずUIImageViewの大きさは200×200の正方形サイズ。
写真は、縦300pixel横400pixelの写真を使用します。

StoryBord
200×200の正方形

IMG_1341
元写真。(家の出窓に飾っている置物達。)

UIViewContentModeScaleAspectFit

まずは王道(自分の中で)のモードから。画像のaspect比を維持して入るようにします。
写真が縦に長いので、その分横が空く形になりますね。
ハッハッハ。貴様、脇がガラ空きだぞ!(意味不明)
UIViewContentModeScaleAspectFit

UIViewContentModeScaleToFill

デフォルト設定のモード。UIImageViewにめいっぱいひろげるので、
縦に写真を収めた分、横にビヨーンと伸びてます。

UIViewContentModeScaleToFill

UIViewContentModeScaleAspectFill
画像のaspect比を維持しつつ目一杯広げるモード。はみ出てもお構いなし。
俺がはみ出るのは貴様(UIImageView)のサイズが悪いからだと言わんばかりの俺様モード。
UIViewContentModeScaleAspectFill

UIViewContentModeRedraw
謎のモード(自分にとって)。見た目はUIViewContentModeScaleToFillと瓜二つ。なんでもviewのサイズが変わった場合に、自動的にsetNeedsDisplayが呼ばれるらしい。
が、それがどういうことなのかスキルが低い自分には高次元過ぎてよくわからない。。。

UIViewContentModeRedraw

これから先はある意味、モブのような陰日向でひっそりとスポットライト浴びる事を願っているモード達(あくまで自分にとって)。
きっと秋元康級の開発者が君たちをデビュー(活用)させてくれるはずだ!

UIViewContentModeCenter
画像サイズをそのまま、中央を表示。
UIViewContentModeCenter
UIViewContentModeTop
画像サイズをそのまま、上を表示。
UIViewContentModeTop

UIViewContentModeBottom
画像サイズをそのまま、下を表示。
UIViewContentModeBottom

UIViewContentModeLeft
画像サイズをそのまま、左を表示。
UIViewContentModeLeft

UIViewContentModeRight
画像サイズをそのまま、右を表示。
UIViewContentModeRight

UIViewContentModeTopLeft
画像サイズをそのまま、左上を表示。
UIViewContentModeTopLeft

UIViewContentModeTopRight
画像サイズをそのまま、右上を表示。
UIViewContentModeTopRight

UIViewContentModeBottomLeft
画像サイズをそのまま、左下を表示。
UIViewContentModeBottomLeft

UIViewContentModeBottomRight
画像サイズをそのまま、右下を表示。
UIViewContentModeBottomRight

いかがでしょうか。この数々のモード達。

いろいろ試してみて下さい。

 - objective-c, アプリ