[Swift] TableViewのセルの高さが動的に変わらない時

ITSwift

TableViewのセルを動的に変えようと思って、TableViewのインスタンスに下記パラメーターを設定しました。

tableView.estimatedRowHeight = 66
tableView.rowHeight = UITableViewAutomaticDimension

参考:
SwiftでTableViewCellの高さを動的に変える
https://qiita.com/okuderap/items/f511dbe2b720931ee842

コンソールを見てみると、Warningが出力されています。

[Warning] Warning once only: Detected a case where constraints ambiguously suggest a height of zero for a tableview cell's content view. We're considering the collapse unintentional and using standard height instead.

日本語訳:
[警告] 1回だけ警告:Tableviewセルのコンテンツビューで制約があいまいに高さ0を示唆するケースを検出しました。意図しない崩壊を考慮し、代わりに標準の高さを使用しています。

どうやら、Viewの成約がちゃんと設定されていないため、TableViewCellのデフォルトの高さが設定されていることが原因のようです。

Xcode の Constraints を調べてみると、確かに bottom に対して制約が設定されていませんでした。

bottom に配置してる view に制約を付けました。

これでもう一度表示確認すると、、、

セルの高さが動的に変わりました!

TableView のセルの高さを変えるために、下記のコードを追記したのにTableViewの高さが動的に変わらない時は View の制約がちゃんと設定されているか確認しみるといいと思います。

tableView.estimatedRowHeight = 66
tableView.rowHeight = UITableViewAutomaticDimension

スポンサーリンク

Posted by nobuhiro harada