Я также попробовал это, и это работает очень хорошо. Но анимация удаления уже не та. Попробуйте с и без, вы можете увидеть разницу между обоими ...

аюсь удалить ячейку с помощью кнопки.

Вот реализация ячейки.

- (UITableViewCell *)tableView:(UITableView *)tableView 
         cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *cellIdentifier = @"Cell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];
    if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier] autorelease];

        UIButton *btn = [UIButton buttonWithType:UIButtonTypeRoundedRect];
        btn.frame = CGRectMake(0.f, 0.f, 30.f, 30.f);
        [btn addTarget:self 
                action:@selector(btnTouched:)
      forControlEvents:UIControlEventTouchUpInside];
      [cell addSubview:btn];
      cell.tag = indexPath.row;
    }
   return cell;
}

- (void)btnTouched:(UIButton *)sender
{
    NSIndexPath *indexPath = [NSIndexPath indexPathForRow:sender.tag inSection:0];

    [_myMutableArray removeObjectAtIndex:sender.tag];
    [_tableView beginUpdates];
    [_tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath]
                      withRowAnimation:UITableViewRowAnimationLeft];
    [_tableView endUpdates];
}

Это работает хорошо, пока я не удалю строку, кнопка не перезагружается, поэтому после удаления я не удаляю хороший индекс. Я пытался поставитьreloadRowsAtIndexPaths:withRowAnimation: заvisible indexPath послеendUpdates метод, и он работает очень хорошо. Но анимация удаления стала безобразной из-за анимации reloadRows (даже если я установил ее на NO). Так есть ли способ перезагрузить ячейки без reloadCellsAtIndexPath. Или удалите строки без использования тегов.


Большое спасибо.

Ответы на вопрос(2)

Ваш ответ на вопрос