カメラアプリを作っていて、UIImageViewのcontentModeプロパティの設定が無性に気になったりして。
実際にはUIViewContentModeScaleAspectFitあたりしか使わないんですが、じゃあ実際にはどうなるのよ?っということで、
以下のサイト様を参考に試してみました。
画像サイズにあわせてUIImageViewに貼付ける – わっふるわっふる
知っていると便利な UIView の contentMode – Fenrir Developer’s Blog
まずUIImageViewの大きさは200×200の正方形サイズ。
写真は、縦300pixel横400pixelの写真を使用します。
UIViewContentModeScaleAspectFit
まずは王道(自分の中で)のモードから。画像のaspect比を維持して入るようにします。
写真が縦に長いので、その分横が空く形になりますね。
ハッハッハ。貴様、脇がガラ空きだぞ!(意味不明)
UIViewContentModeScaleToFill
デフォルト設定のモード。UIImageViewにめいっぱいひろげるので、
縦に写真を収めた分、横にビヨーンと伸びてます。
UIViewContentModeScaleAspectFill
画像のaspect比を維持しつつ目一杯広げるモード。はみ出てもお構いなし。
俺がはみ出るのは貴様(UIImageView)のサイズが悪いからだと言わんばかりの俺様モード。
UIViewContentModeRedraw
謎のモード(自分にとって)。見た目はUIViewContentModeScaleToFillと瓜二つ。なんでもviewのサイズが変わった場合に、自動的にsetNeedsDisplayが呼ばれるらしい。
が、それがどういうことなのかスキルが低い自分には高次元過ぎてよくわからない。。。
これから先はある意味、モブのような陰日向でひっそりとスポットライト浴びる事を願っているモード達(あくまで自分にとって)。
きっと秋元康級の開発者が君たちをデビュー(活用)させてくれるはずだ!
UIViewContentModeCenter
画像サイズをそのまま、中央を表示。
UIViewContentModeTop
画像サイズをそのまま、上を表示。
UIViewContentModeBottom
画像サイズをそのまま、下を表示。
UIViewContentModeLeft
画像サイズをそのまま、左を表示。
UIViewContentModeRight
画像サイズをそのまま、右を表示。
UIViewContentModeTopLeft
画像サイズをそのまま、左上を表示。
UIViewContentModeTopRight
画像サイズをそのまま、右上を表示。
UIViewContentModeBottomLeft
画像サイズをそのまま、左下を表示。
UIViewContentModeBottomRight
画像サイズをそのまま、右下を表示。
いかがでしょうか。この数々のモード達。
いろいろ試してみて下さい。
コメント
[…] 際にはどうなるのよ?っということで、 以下のサイト様を参考に試してみました。 画像サイズにあわせてUIImageViewに貼付ける – わっふるわっふる 知っていると便利な UI…[続きを読む] […]