ついにTableViewCellの高さが自動で調整してくれるようになった件!!!

  • 316
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

技術情報の共有はNDAではないということで書きます。問題ありましたらご連絡ください。

ついにiOS8でテーブルビューのセルの高さを自動調整してくれるようになります!!
-tableView:heightForRowAtIndexPath:でcellの高さを外部で計算しなくてよくなりました!!

やり方は簡単です。
tableViewのrowHeightプロパティにUITableViewAutomaticDimensionを入れるだけです。

self.tableView.rowHeight = UITableViewAutomaticDimension;

セルの高さは2種類の方法で決まります。
1. AutoLayout
2. sizeThatFits:メソッドの実装

AutoLayoutを利用していない場合は2の実装が良いです。
sizeThatFitsはtableView:cellForRowAtIndexPath:のあとに呼ばれるようなので、
その時のcellのコンテンツの内容に合わせて高さを計算すれば良くなります。

ようやくこれでheightForRowAtIndexPathから開放され、高さの計算ロジックもcell内のコードに落としこむことができるので見通しが良くなると思います。

可変サイズのTableViewが非常にやりやすくなりますね!