表格单元格删除错误

时间:2010-10-27 01:17:26

标签: iphone objective-c uitableview

我有一个应用程序设置为具有tableview,允许用户添加和删除单元格(这是事件)。添加和删​​除DOES工作,但是当我删除一个单元格(通过进入编辑模式),我可以单击( - )按钮删除,然后我点击删除按钮,但删除按钮保持突出显示,单元格不会消失,直到我点击退出编辑模式的“完成”按钮。这是一个有人见过的问题吗?如果是这样,有解决方案吗?感谢

编辑:

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {

NSLog(@"Delete");

[eventList removeObjectAtIndex:indexPath.row];
[tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject: indexPath] withRowAnimation:YES];
[tableView reloadData];

2 个答案:

答案 0 :(得分:3)

我建议在commitEditingStyle中删除对reloadData的调用。 deleteRowsAtIndexPaths已经负责重绘表视图。

开始寻找书面来源的最佳位置是documentation 请参阅this page上的“删除表视图行的示例”。

另请注意,在deleteRowsAtIndexPaths中,withRowAnimation不接受BOOL参数。而不是YES,它应该是UITableViewRowAnimation枚举值,如UITableViewRowAnimationFade。

答案 1 :(得分:0)

删除行后,您绝对不需要reloadData。如果它仍然无效,您可能想尝试在beginUpdatesendUpdates中包含删除。最后,withRowAnimation:参数应该是UITableViewRowAnimation枚举之一而不是BOOL。