技術情報の共有はNDAではないということで書きます。問題ありましたらご連絡ください。
ついにiOS8でテーブルビューのセルの高さを自動調整してくれるようになります!!
-tableView:heightForRowAtIndexPath:
でcellの高さを外部で計算しなくてよくなりました!!
やり方は簡単です。
tableViewのrowHeightプロパティにUITableViewAutomaticDimensionを入れるだけです。
self.tableView.rowHeight = UITableViewAutomaticDimension;
セルの高さは2種類の方法で決まります。
- AutoLayout
- sizeThatFits:メソッドの実装
AutoLayoutを利用していない場合は2の実装が良いです。
sizeThatFitsはtableView:cellForRowAtIndexPath:
のあとに呼ばれるようなので、
その時のcellのコンテンツの内容に合わせて高さを計算すれば良くなります。
ようやくこれでheightForRowAtIndexPathから開放され、高さの計算ロジックもcell内のコードに落としこむことができるので見通しが良くなると思います。
可変サイズのTableViewが非常にやりやすくなりますね!