301
301

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

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

Posted at

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

301
301
0

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
  3. You can use dark theme
What you can do with signing up
301
301

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?