2015-04-25 2 views
0

У меня есть tableviewcell, который по крану растет в размерах, по высоте, обновляя рамку.UITableViewCell - Обновить табличный вид

Проблема заключается в том, что ячейки ниже не настраиваются, перемещаются вниз, чтобы сделать их видимыми снизу, а события выбора строки по-прежнему основаны на старых размерах перед нажатием. Я использую Facebook POP - который обрабатывает анимацию, поэтому tableview.beginUpdates() не может быть и речи, может быть?

ответ

0

Вы не можете вручную обновить фрейм UITableViewCell, изменив его фрейм или рамки. Вместо этого вам нужно изменить значение, возвращаемое -tableView: heightForRowAtIndexPath: для этого indexPath, а затем выполнить:

[self.tableView beginUpdates]; 
[self.tableView endUpdates]; 

Это заставит Tableview пересчитать высоту всех строк.

+0

Извините. Я просто заметил, что вы сказали, что начальные обновления недоступны. Я все равно оставлю это здесь для других. – Holly

0

Во-первых, вам нужно убедиться, что вы вернете новую высоту в heightForRowAtIndexPath, тогда вам нужно сделать обновление таблицы в ячейке. Если вам не нравится анимация, просто вызовите [tableview reloadData]. Если вам нужна анимация, вам нужно вызвать [tableview reloadRowAtIndexPath: indexpath_of_your_cell]

Смежные вопросы