UITableview,完成按钮,删除效果

时间:2013-05-09 06:20:42

标签: ios cocoa-touch

我有一个UITableView。当用户点击编辑(例如对项目进行排序)时,我输入

- (void)setEditing:(BOOL)editing animated:(BOOL)animate {

但是当用户完成(并点击完成)时,会有一个动画。如何删除似乎重新加载单元格的动画。

由于

编辑:刚才发现这个方法再次被调用

- (void)controller:(NSFetchedResultsController *)controller
   didChangeObject:(id)anObject
       atIndexPath:(NSIndexPath *)indexPath
     forChangeType:(NSFetchedResultsChangeType)type
      newIndexPath:(NSIndexPath *)newIndexPath {

有没有办法删除这个电话?

3 个答案:

答案 0 :(得分:0)

以这种方式使用:

- (void)setEditing:(BOOL)editing animated:(BOOL)animate {
     if(editing)
       [super setEditing:editing animated:YES];
     else
       [super setEditing:editing animated:NO;
}

答案 1 :(得分:0)

你不能删除它。当表视图进入和退出编辑模式时,tableView将自动重新加载可见单元格。这实际上是一种可接受的行为编辑模式,应该在tabelView单元格中更改某些内容(插入或删除单元格或编辑某些值)。因此,为了反映重新加载这些单元格所需的更改。 TableView将为您完成这项工作。它会将cellForRowAtIndexPath称为可见单元格

答案 2 :(得分:0)

将此添加到您点击完成时调用的功能

NSInteger rows;
rows = [self tableView:tableView numberOfRowsInSection:section];

for (int i=0; i<rows; i++)
{
NSIndexPath *tmpIndexPath = [NSIndexPath indexPathForRow:i inSection:section];
[tmpArray addObject:tmpIndexPath];
}

UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
[tableView insertRowsAtIndexPaths:tmpArray withRowAnimation:UITableViewRowAnimationNone];