2016-04-04 9 views
1

私はUITableViewCellのカスタムレイアウトを作成しようとしていましたが、下の図のようにイメージとラベルが含まれています。UITableViewCell制約

Custom Layout

主な問題は、圧縮であると私はそれに私の指を入れていないと画像が拡大し、なぜ私が理解できない抱擁、私は両方の

の圧縮とハグを変更しました画像設定:

Image

ラベル設定:

Label

どのように私はラベルの縮小を修正することができますか?

+1

あなたは両方与える必要はありませんセルフサイジングセルのためのコードの下UIImageView enter image description here

UILabel enter image description here

のために使用します'Top' +' Bottom'と 'Align Center Yの制約。 'Top'と' Bottom'制約定数の値が異なる場合は、衝突する可能性があります。 – Mathews

+0

yeah @EI Captain –

+0

イメージを固定幅に設定することはできませんか? –

答えて

1

コンテンツのハッチングは、数字が大きいほど「より多くの抱擁」を意味するようにスケーリングされます。言い換えれば、あなたのラベル(Content hugging priority = 251)は、あなたのイメージ(Content Hugging Priority = 249)よりもサイズがコンテンツサイズに合ったものになるようにしようとします。

あなたがしたいことをするには、他の方法で優先順位が必要です。

画像が固定幅または固定アスペクト比に設定されていると、レイアウトが優れていることがわかります。そうでなければ、テーブルにあるときに奇妙に見えます。そうするならば、すべてが拘束されるので、抱き合わせの優先順位を調整する必要はありません。

また、@matthewsは正しいです。Center Yの制約を取り除く必要があります。なぜなら、それはTopとBottomの制約と一緒になると意味がないからです。

1

ImageViewには、先頭、上端、高さ(自身)、幅(それ自体)、後続スペースのラベル付けの制約、つまり上、下書き、高さというラベルの制約を与えることができます。

0

希望これはあなたを助けるかもしれない:

tableView.estimatedRowHeight = 100.0 
tableView.rowHeight = UITableViewAutomaticDimension