Я хочу показать анимацию при добавлении ячеек в UITableView.
Вот что я реализовал (псевдокод)
[self.tableView beginUpdates];
// remove row exists
[self.tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:(rows exists) withRowAnimation:UITableViewRowAnimationFade];
(chang data source here, for me, it's NSFetchedResultsController)
// insert new rows
[self.tableView insertRowsAtIndexPaths:(new rows) withRowAnimation:UITableViewRowAnimationFade];
[self.tableView endUpdates];
Этот код хорошо показывает анимацию, но у него есть небольшая проблема.
Ячейки показывают перемещение анимации из прямоугольника кадра (0, 0, 0, 0) в его фактическое положение, а не только затухание анимации.
Мне кажется, проблема в том, что начальный кадр ячеек (0, 0, 0, 0), поэтому я установил свойство начального кадра ячейки в cellForRowAtIndexPath, но он не работает.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
....
cell.frame = CGRectMake(0, indexPath.row * 64, 320, 64);
NSLog(@"set frame");
....
}
Как показать только анимацию оттенка, без анимации движения ячейки?