2017-05-15 12 views
0

私はと2つのセルプロトタイプを持つUITableViewを持っています。私はすでに別のコントローラにそれを行っているなどAutoLayoutを使用して1つのUITableViewで2つのプロトタイプを使用してUITableViewCellのAutoHeightを設定するにはどうすればよいですか?

enter image description here enter image description here

autoheightのために、私はいくつかの制約を追加する必要があることを私は知っている

tableView.rowHeight = UITableViewAutomaticDimension、:ように見えます。しかし、私は実際には(私は長い時間を探していた)、1つの2つのプロトタイプで同じことをする方法を見つけることができませんtableView

したがって、質問はです:どのようにAutolayout(height for row at index pathではなく)でそれを作るのですか?あるいは、IGListKitなどのlibsを使うべきでしょうか?

+0

サイジングが正しく行われていないだけで、各プロトタイプを表示できますか?あるいは、まだ2種類のプロトタイプ細胞を見せていないのですか? – DonMag

+0

@DonMagどちらも表示されますが、正しいサイジングではありません。 –

+0

自動レイアウトでエラーが発生しました。右上の赤い矢印を参照してください。 –

答えて

2

画像には、一部の無効/不完全な制約があることが示されています。これらを修正すると、自動サイズ調整は必要に応じて機能するはずです。

1

自動寸法を達成するためのコードは必要ありません。tableView.estimatedRowHeight = 440viewDidLoad()に設定するだけです。推定された行の高さに対しては正の数を使用します。

ストーリーボードでは、レイアウト制約を使用して、セルレイアウトがトップダウンの方向に非破壊であることを確認する必要があります。たとえば、投稿された画像では、左と右の2つの画像ビューが何らかの形で上部(またはそのマージン)からの距離を持っていなければなりません。画像ビューでは、その高さも定義する必要があります。ラベル「日付」は画像からいくらか離れていなければならず、次に底辺までの距離(またはその余白)はcontentViewであるため、セルの上から下へのレイアウトはあいまいではありません。

UILabelを使用している場合、ラベルのテキストに応じて、幅と高さが暗示され、計算されます。ユースケースの最良の結果を得るには、コンテンツの圧縮抵抗の優先順位とハギングの優先順位が役立ちます。

+0

答えのためのThx! –

関連する問題