2016-08-11 10 views
0

ダイナミックなイメージビューを作りたいと思っています。 そして、imageViewの幅は画面の幅(またはtableViewの幅)に従います。画像の高さは、内部の画像によってサイズ変更されます。アスペクトフィットを設定enter image description hereImageViewをイメージサイズに依存させることはできますが、ImabeViewは固定しません。

enter image description here ImageViewのモード: 私のストーリーボードはそのように見えます。 画像の幅はtableView(または画面の幅)と同じにはできますか? また、画像の高さとtableViewのサイズを変更するには??(黄色の余白を残さないでください)

答えて

0

Y制約を追加することをお勧めします。ピンボードを使用して、上部のレイアウトガイドへの垂直間隔を制限してから、ビューコントロールアイコンにコントロールドラッグを使用して、imageViewを水平に中央に配置してから、imageViewのイメージを設定すると、サイズやアスペクト比の制約が設定されていないためです。必要に応じて、テーブルビューと常に同じ高さにしたいという制約を設定できますが、アスペクト比を設定しないと画像が伸びて見える可能性があります。

+0

私はあなたが言ったことをします: ステップ1:ピンボードを使用して、上部レイアウトガイドまでの垂直間隔を制限します。 Step2:imageViewを水平方向に中央に配置 Step3:imageViewの画像を自動的に画像のサイズに変更します Step4(オプション):テーブルビューと常に等しい高さにしたいという制約を設定します どのような表示モードを選択すればよいか尋ねることができますか?「高さに合わせる」を選択したとき、幅>高さの画像を選んだときにうまく見えます。 しかし、高さ>幅の画像を選んだ場合、元の画像には奇妙に見えます。 http://imgur.com/a/o6ARo –

+0

ああ、あなたの例に基づいて、画像のストレッチを引き起こす可能性があるので、xの拘束を「中央から水平に」離れて追加しないことをお勧めします。しかし、「スケールに合わせる」を選択しないでください。ただし、さまざまなサイズの画像を使用する場合は、自動レイアウトを使用して(わかっている限り)、サイズを同じにして、イメージサイズに基づいてプログラムで制約を追加します。私が望むなら、これであなたを助けることができます。 – RufusV

+0

ありがとう!私はデモをドロップボックスに入れました https://www.dropbox.com/s/m3qr6uc2bqmms7n/ImageViewDemo.zip?dl=0 そしてAssets.Someのいくつかの写真があります。それらのうちのいくつかは、w> h、他のh> w 。 –

1

imageViewの高さと幅を固定しないでください。 制約を使うだけで、x、yの位置を設定するだけで、自動的に画像のサイズに合わせてサイズを変更できるようになります。

+0

私はアスペクト4:3を削除した後に試しました。そのように見えます:http://imgur.com/a/o6ARo まだ間違っています...奇妙に見えます –

関連する問題