2016-10-12 11 views
2

イメージアセットファイルに1x、2x、3xイメージがあります。イメージiOSの異なるデバイスで1x、2x、3xの問題が発生する

Image 1

しかし、それは、下記の画像のように、すべてのデバイスに対して1倍の画像を配置しました。

Image 2

のXcode 7.3とiOS 9.3を使用しています。自動レイアウトを使ってイメージビューを作成しました。 Align centre x to superviewAlign centre Y to superviewと設定します。

アドバイス/入力をいただければ幸いです!ありがとう。

+0

UIImageViewにアスペクト比を制限する –

+0

UIImageViewにはどのようなコンテンツモードが使用されていますか? – Adeel

+0

デザイナーの計算が間違ったイメージを作成するために間違っています。あなたの画像を1x19x19とし、その2x45x45と3x75x75 –

答えて

6

には高さ/幅の制約が存在しない。これは罰金であることを確認してください。 3倍はあなたのimageviewが3倍大きく表示されることを意味しません。 3倍の解像度を使用しています。つまり、画像ビューのサイズが50x50の場合、iphone 6 plus (5.5 inch)には解像度が150x150の画像が必要です。このディスプレイに50x50の解像度イメージを設定すると、表示されません。それでおしまい。 3倍の画像が元のimageviewの3倍大きく表示されるわけではありません。

あなたのイメージのサイズのイメージビューが必要な場合は、UIViewContentModeScaleAspectFillコンテンツモードをあなたのイメージビューに設定してください。

1

は、コンテンツのモードがUIViewContentModeScaleAspectFillであり、あなたのUIImageView

2

@Lionはこの質問に非常にうまく答えましたが、3Xを使用しても画像の高さと幅が3倍になるわけではありません。

より大きなデバイスのイメージビューのサイズを変更したい場合は、適切な自動レイアウト制約を使用するだけです。

デバイスサイズ(アスペクト比)でイメージビューの原点とサイズを変更したい場合 イメージビューのサイズを変更するときは、イメージビューの2/3倍大きいイメージを2X/3X解像度に使用します。

Autolayout: origin and size should change according to width and height factor

これらのデバイスに

iPhone 4とiPhone 4S、5,5S、5C、6,6S、7,7S 2倍

@ 1X

@前をチェックiPhone 6 +、6S +、7 +、7S + @ 3x

大きな画面に制約を適用すると、画像ビューのサイズは( 50,50)3倍の解像度で150,150のサイズの画像を使用する

関連する問題