I have the classical grouped UITableView with editable UITextViews inside every cell. This text views can be single or multi-lined, and I want the cell to increase its height as the user writes and the text starts a new line.
My question is: do I need to reload the whole table just to increase the height of a cell? Isn't there any other method?
I've been searching a lot, and previous answers and tutorials just talk about how to calculate text height, how to implement heightForRowAtIndexPath... things that I already know. My concern is that, to achieve what I want, I will have to calculate height and reload the table every time the user enters a new character, which I don't find very clean or efficient.
Thanks.
To be more specific, yes, you have to implement
tableView:heightForRowAtIndexPath:
to calculate the new height, then do as rickharrison says and call[tableView reloadRowsAtIndexPaths:withRowAnimation]
. Lets say your cells can have an expanded height and a normal height, and you want them to grow when tapped on. You can do:-reloadRowsAtIndexPaths:withRowAnimation
did not resize the UITableViewCell height, even after I changed the Cell's frame. It only worked when I followed it with a-reloadData
:You do not always have to reload the entire table. You can instead just reload that one row.