search
LoginSignup
301

More than 5 years have passed since last update.

posted at

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

技術情報の共有は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が非常にやりやすくなりますね!

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
301