Идентификатор повторного использования UITableViewCell с ячейками переменной высоты - PullRequest
3 голосов
/ 16 марта 2009

У меня есть пять разных ячеек в таблице в пяти разделах, различающихся только по высоте и тексту. Нужно ли иметь один идентификатор повторного использования или пять? Я использую пользовательскую ячейку.

В документе Apple говорится о повторном использовании с ячейкой, имеющей «ту же самую общую» конфигурацию. Разные высоты делают разные для кэширования и повторного использования перспектив. Я могу использовать разные шрифты, но все остальное между ячейками одинаковое, цвета и т. Д.

Когда я выталкиваю эту таблицу и нажимаю новую, новая ячейка таблицы снова будет различаться по высоте в зависимости от объема текстового содержимого в новой строке выбора.

Поскольку мое устройство, кажется, уже нагревается во время работы моего приложения, просто хочу убедиться, что я делаю это эффективно. Я хочу повторно использовать кэш и ячейки в таблице, а также при перезагрузке таблицы с новыми данными.

Буду признателен за некоторые предложения.

1 Ответ

2 голосов
/ 16 марта 2009

У вас может быть один идентификатор повторного использования, но для изменения высоты вам потребуется реализовать метод UITableViewDelegate:

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath

Тем не менее, я не могу представить, чтобы одна ячейка высотой 44 пикселя, а другая высотой 70 пикселов, имела бы такую ​​же общую конфигурацию. Если они настолько различаются по высоте, они, вероятно, будут такими разными по содержанию, и , что потребует разных идентификаторов повторного использования.

...