iOS: Self-sizing table cells
Watched WWDC 2015 session about Auto Layout - Mysteries of Auto Layout, Part 1 and encountered issues during testing what Kasia Wawer presented there.
If you plan to watch the first one, I would also recommend to watch Mysteries of Auto Layout, Part 2.
There was a demo about self-sizing cells. I didn’t used them before but read
about them and wanted to use self-sizing cells in Quotes app.
The concept was pretty easy - there are some elements inside cell and goal is
to make cell at least high as text is in contained
UILabel. So what is needed
is to create constraints between top of the label and Top Space To Container Margin, the same with bottom of the label and Bottom Space To Container Margin.
The next thing was to set some estimated high of table view rows - just one line call:
tableView.estimatedRowHeight = 40
Let’s run our app… Hmm, not working. Why?
This has been omitted by presented and it took me a while when I found the reason of the issue. There is another property to set.
tableView.rowHeight = UITableViewAutomaticDimension
Let’s run app again… It works. This works on iOS 7, 8 and 9.