1

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

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

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

谢谢

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

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

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

4

3 回答 3

0

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

于 2013-05-09T06:36:31.600 回答
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];
于 2013-05-09T06:50:22.577 回答
0

以这种方式使用它:

- (void)setEditing:(BOOL)editing animated:(BOOL)animate {
     if(editing)
       [super setEditing:editing animated:YES];
     else
       [super setEditing:editing animated:NO;
}
于 2013-05-09T06:25:28.083 回答