В табличном представлении я добавляю новые ячейки (в верхнюю часть табличного представления) с анимацией (цвет фона ячеек меняется с серого на белый по умолчанию). Все работает нормально, но анимирует только те ячейки, которые видны на экране. Таким образом, если количество строк больше, чем может отобразить дисплей, он не анимирует остальные ячейки.
Это мой код для анимации ячеек (я использую его в моем собственном методе просмотра таблицы обновлений после вставки новых строк. InsertingArray состоит из IndexPath строк, которые должны быть анимированы):
for (int i=0; i<[insertingArray count]; i++)
{
UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:[insertingArray objectAtIndex:i]];
cell.backgroundColor = [UIColor grayColor];
[UIView animateWithDuration:1.0
delay: 1.0
options: UIViewAnimationOptionCurveEaseIn
animations:^{
cell.backgroundColor = [UIColor whiteColor];
}
completion:nil];
}
Итак, как это исправить и оживить все строки, которые были добавлены в виде таблицы?
it doesn't animate the rest of cells
- этот оператор довольно ясно демонстрирует, что вы не знаете, как iOS обрабатывает повторно используемые ячейки внутри - в большинстве случаев ячеек за пределами экрана нет. есть контент, который будет отображаться за пределами экрана, но не связан с ячейкой пользовательского интерфейса - ›stackoverflow.com/questions/2152180/ - person luk2302   schedule 10.05.2015