Вопросы по курсу TableView - "Self-sizing" (автоматическое увеличение ячейки)


#1

Добрый день, друзья.
Подскажите пожалуйста по такому вопросу:

Есть тема в курсе “Self-sizing” (автоматическое увеличение ячейки).
В курсе есть два property:

tableView.estimatedRowHeight = 38
tableView.rowHeight = UITableViewAutometicDimension 

Не понимаю в чем разница между этими property? Что делает estimatedRowHeight, rowHeight и что такое UITableViewAutometicDimension?

Спасибо.


#2

rowHeight делает то же самое что и heightForRowAt, только для всех ячеек. то есть сначала вызывается heightForRowAt, если он что то возвращает, то высота ячейки будет столько то, если не возвращает, то высота ячейки будет rowHeight. если высота ячейки == UITableViewAutometicDimension, то высота ячейки будет автоматической.

estimatedRowHeight = estimatedHeightForRowAt - предполагаемый размер ячейки. нужен для того, что бы можно было вычислить хотя бы примерно высоту ячейки.
есил estimatedRowHeight будет какое то неправильное значение, слишком большое или слишком маленькое, таблица может начать выдавать неприятные баги: будет дергаться скроллбар при прокручивании, и ячейки постоянно будут куда то сьезжать после reloadData