Я читал много о обновлении UITableView после того, как вы удалили строки как IndexPath, так и источник данных, который, похоже, сводится к [tableView startUpdates]
, запустите любой код обновления, который у вас есть, а затем [tableView endUpdates]
.Ячейки UITableView удаляются бесславно
Несмотря на следующие многочисленные примеры Т и используя [tableView deleteRowsAtIndexPaths:<indexPaths> withRowAnimation:UITableViewRowAnimationTop];
, я не могу сделать мои строки удалить любым способом, но то, что следующие Изображает:
http://www.youtube.com/watch?v=l6ov1FR0R4g&feature=youtu.be (по существу, если есть п> 1 строк , строка просто мигает, а если есть n = 1 строка, она будет сдвигаться наружу, останавливаться, а затем исчезать).
Мне действительно хотелось бы более плавное поведение, как, может быть, строка скользит, когда строка скользит вверх. Вот код, выполняющий удаление:
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
int idx = [indexPath indexAtPosition:1];
LoLoanedItemDoc *itemDoc = [[self items] objectAtIndex:idx];
// Delete notification
[[UIApplication sharedApplication] cancelLocalNotification:[[itemDoc data] notification]];
[tableView beginUpdates];
[tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationTop];
// Remove from datasource
[[self items] removeObject:itemDoc];
[tableView endUpdates];
// Delete folder
[itemDoc deleteDoc];
}
Попробуйте удалить начальные и конечные обновления, они не нужны в этой ситуации. – rdelmar
Сначала я меняю свою модель, а затем делаю обновления. Создалось впечатление, что это не приведет к возникновению исключения, когда вы укажете, что tableview будет удаляться, а количество моделей останется прежним. – danh