UITableView insertRowsAtIndexPaths删除单元格分隔符

时间:2014-06-11 10:59:31

标签: ios objective-c uitableview didselectrowatindexpath

我需要在所选行下添加一个新行。我在didSelectRowAtIndexPath:

中使用此代码
[_dataSource insertObject:newDataObject atIndex:indexPath.row + 1];

NSMutableArray *indexPaths = [NSMutableArray array];
NSInteger currentCount = indexPath.row;
[indexPaths addObject:[NSIndexPath indexPathForRow:currentCount+1 inSection:0]];

[self.tableView beginUpdates];
[self.tableView insertRowsAtIndexPaths:indexPaths withRowAnimation:UITableViewRowAnimationNone];
[self.tableView endUpdates];

它将新行添加到正确的位置,但它也会删除所选行的上部单元格分隔符。我做错了什么?

1 个答案:

答案 0 :(得分:3)

似乎UITableViewCell在选定状态下没有分隔符。 UITableViewCellSelectionStyleNone只是禁用突出显示,但无论如何单元格为selected。加入

   [tableView beginUpdates];
   // insert/delete manipulations
   [tableView deselectRowAtIndexPath:indexPath animated:NO];
   [tableView endUpdates];

修复了问题