Let’s take an example of chat application, where chat bubbles dimensions vary dynamically based on the chatted text.
We can achieve this dynamic size of cell by calculating size of cell based on displaying text font, size and length.This is very tedious. We can achieve this simply using autolayouts and UITableView automatic dimension setting for row height.
First, Take your label and give below constraints. Constraint constants can be of your choice.
- trailing &
After that make label as multiline by giving number of Lines as 0 and Line Break as 'Word Wrap'.
Lines - 0
Line Break - Word Wrap
In the code, give the below settings to UITableView.
self.tableViewRank.estimatedRowHeight = 500
self.tableViewRank.rowHeight = UITableViewAutomaticDimension
That’s it. Now, Table view’s cells will be of dynamic height based on the label’s content.
Hope this post is useful. Feel free to comment incase of any queries.