【发布时间】:2014-01-14 14:04:04
【问题描述】:
我不太确定这里发生了什么,但我遇到了我正在使用的联系表格。在我的表单中,我添加了向联系人添加电子邮件地址的功能。如下图所示,一旦用户点击“添加电子邮件”,就会在“电子邮件”部分添加一行。
但是,在我点击删除电子邮件后,添加电子邮件按钮下方会出现一个额外的单元格(如下图所示)。
似乎之前的删除单元格中有一个小红框,就好像表格没有重新加载一样。这是我的删除代码:
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
if( editingStyle == UITableViewCellEditingStyleDelete )
{
// Update the data source
NSMutableArray *fields = (NSMutableArray *)self.fields[@(indexPath.section)];
[fields removeObjectAtIndex:indexPath.row];
NSMutableArray *values = (NSMutableArray *)self.values[@([self fieldTypeAtIndexPath:indexPath])];
[values removeObjectAtIndex:indexPath.row];
[tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationMiddle];
}
}
那么为什么那个单元格之后还剩下呢?我可以在上面的方法中调用[tableView reloadData],它会删除多余的单元格,但会弄乱动画。你能澄清一下我在这里做错了什么吗?
【问题讨论】:
标签: ios cocoa-touch ios7