2016-04-13 2 views
0

У меня возникло странное перекрытие при попытке перезагрузитьДата таблицыView, в результате чего высота ячейки изменилась (с использованием UITableViewAutomaticDimension), тогда контент будет перекрываться с ячейкой над ним, не могу определить, как это сделать :/iOS UITableViewCell перекрывается

до: enter image description here enter image description here

После перезагрузки вида из-под клеткой прыжка выше: enter image description here

Они в основном та же клетка, но верхняя часть имеет вид View height = 0 и не имеет данных. И это происходит только в том случае, если нижняя ячейка является полноэкранным (верхняя ячейка невидима), если ячейка доходности в час видна, то эти ошибки не отображаются

+0

Может ли это иметь какое-то отношение к 'automaticAdjustsScrollViewInsets' (см. Http://stackoverflow.com/a/19585104/1305067) – paulvs

+0

Я не думаю, что это имеет какое-то отношение к этому, его просто для панели навигации перекрытия tableview , моя проблема, вероятно, связана с механизмом повторного использования, но я не уверен, что это такое – Tj3n

ответ

1

Это, вероятно, из-за установки одного и того же идентификатора ячейки, обновляете ли я ячейки до их повторного использования?

- (void)prepareForReuse { } 

Внесите этот метод в классы ячеек таблицы. Надеюсь, это будет полезно для вас.

+0

что мне делать в этой функции? – Tj3n

+0

В вашей ячейке есть некоторые логики, которые управляют пользовательским интерфейсом, например, на основе данных, они будут вести себя по-разному. Однако, из-за использования того же идентификатора, ячейка повторного использования из массива рециркуляции сохраняет прежнее состояние. «prepareForResuse» вызывается перед тем, как он будет использоваться, вы должны его обновить. – HDT

+0

Я использую tableView внутри Viewcontroller, и этот метод не существует:/... Является ли это из tableViewcontroller? – Tj3n

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