2016-07-14 4 views
-1

私はUITableViewに、storyboardに4種類のカスタマイズされたセルを格納しています。各セルは、UILabelsをカスタマイズしており、バックエンドから可変量のテキストデータを取得します。私は正しくセルのサイズを変更することに苦労しています。私は本当に各セルの高さを変更したいと思っていますが、cellForRowAtIndexPathの前に呼び出されるので、heightForRowAtIndexPathを使用することはできませんが、高さは実際にカスタマイズされた各セル内で計算されます。セルをロードした後のUITableViewの高さの行

UITableViewがロードされている間に各セルの高さを配列に書き込もうとしましたが、それをもう一度一度だけ再ロードしますが、効果はありません。 CGFloat rowHeight = UITableViewAutomaticDimensionを使ってみましたが、いずれも成功しませんでした。各セルのカスタマイズされたラベルは、行の高さをより高い数値に静的に変更したときに表示されるテキストで確実に増加します。だから、どういうわけか私のラベルは、それらを成長させるために行をプッシュする必要があります。

私が見つけたstackoverflowの異なる似た記事は役に立たなかった。

+1

はuが – remyr3my

+0

'UITableViewAutomaticDimensionを'試みているものをあなたのコードがそれになるだろうポスト、おそらくuのdidntのピン上部と下部のセルへ – Tj3n

+0

はそれをやってみましたが、何とか動作しません。申し訳ありませんが、コードを投稿することはできません、それは専有です。 –

答えて

0

問題は、ストーリーボードのセル自体ではなく、ContentViewに上限と下限の制約を設定する必要があることでした。

enter image description here

ラベル - > ContentViewの上部と下部の制約を設定する必要があります。そしてviewDidLoadで指定UITableViewAutomaticDimension

self.tableView.rowHeight = UITableViewAutomaticDimension; 

estimatedRowHeightも設定する必要があります。たとえば:

self.tableView.estimatedRowHeight = 76.0f; 
+1

estimatedRowHeightも設定する必要があります – Andy

関連する問題