这会让我发疯的!很多类似的问题,但我似乎仍然无法弄清楚为什么我的这个滑动删除代码不起作用!“删除”按钮只是没有出现。与设备相比,在模拟器中的 UITableview 单元格中是否有一些特殊的滑动方式?这是代码,
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath
{
return YES;
}
-(UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath
{
return UITableViewCellEditingStyleDelete;
}
-(void) setEditing:(BOOL)editing animated:(BOOL)animated
{
[super setEditing:editing animated:animated];
[self.tableView setEditing:editing animated:animated];
}
// Override to support editing the table view.
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
if (editingStyle == UITableViewCellEditingStyleDelete)
{
[attachmentsArray removeObjectAtIndex:indexPath.row];
[tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationLeft];
[tableView reloadData];
}
}
更新 - 放置断点,canEditRowAtIndexPath,editingStyleForRowAtIndexPath, commitEditingStyle
但控制永远不会去 commitEditingStyle。它只是在前两个之间循环。