2017-12-17 19 views
0

nibファイルから読み込まれたUITableViewCellを設定しようとしています。セルには左のUIImageViewと右のUILabelという2つの要素があります。UITableViewCell自動レイアウトの問題(iOS 11、Xcode 9.2)

Custom UITableViewCell

UIImageViewは、次の制約があります。

身長:100 PT、幅:スーパーへ= 10ポイントと下のスペースをスーパーする100 PT、= 10ptのをスーパーするスペースをリードする、トップスペース= 10 UIImageからスペースをリードする

:PT

UILabelは、次の制約があります(私はこの下のスペースの制約を設定しない場合、細胞は、適切に画像を表示していないと、彼らはすべてのマングルされています)スーパービューへのトップスペース= 10pt、スーパービューへのボトムスペース= 10pt

UILabelの行数は0に設定されており、テーブルの推定行高さは200ptに設定されています。行の高さはUITableViewAutomaticDimensionに設定されます。

私はUILabelは、すべての行(ひいてはラインのその数が0に設定されている)とセルのみの最大の高さに拡大しているが、ラベルの高さ

を動的に拡張するためのセルに合うようにしたいです100ピクセル(UIImageViewの高さ)、ラベルの内容は切り捨てられます。

私はここで間違っていますか?

+1

は、あなたが10と同等以上の画像ビューの下部に制約を設定しようとしたことがありより小さい崩壊? – Douglas

+0

ありがとう@Douglas! Bottom Space制約を> = 10に設定すると、ラベルの内容でセルの高さが大きくなります。セルをすっきりさせるために、UIImageViewのTop Space制約を削除し、Vertical Centering制約を追加しました。 – cubsnlinux

+0

うれしかったです。 Ray Wenderlichのウェブサイトのチュートリアルからそのトリックを学びました。学ぶのに最適な場所。 – Douglas

答えて

0

ImageViewを静的な高さに設定し、上と下をコンテンツビューにバインドしているので、その高さは意味があります。これにより、細胞の背が高くなるのが止まります。

セルの高さがイメージビューによって制限されないように、イメージの高さを拡大または上または下の制約を削除する必要があります。

これらの制約を試してみてください。

  • イメージビュー高さ/幅
  • Viewは大手
  • 画像=電池
  • 画像を表示トップ=セルトップ
    • を先頭または中央垂直またはものは何でもしたいです好き。基本的には、単に画像ビュー何とか
  • ラベル大手=画像表示が
  • ラベルトップ=セルトップ
  • を末尾のラベルのボトム=セルボトム
  • ラベル末尾=電池用Y位置を設定
  • ラベル(したがって、セル)FRを停止する
  • ラベルの高さ> =イメージビュー身​​長
    • を末尾OMイメージ図
+1

ありがとう@ ABeard89。上記の私のコメントを参照してください。 UIImageViewの> = 10というボトムスペース制約がこのトリックでした。 – cubsnlinux

+0

@cubsnlinux That> = constraintは静的な高さの問題も解決します。それには何も問題ありません。あなたはそれがうまくいってうれしい! – ABeard89

+0

この解決方法も問題を解決しました。しかし、Label Height> = Image View Heightを設定するのではなく、UIImageViewのボトムスペース制約を10以上に設定しました。どちらのソリューションも機能します。 – cubsnlinux

関連する問題