deleteRowsAtIndexPaths并不尊重动画设置

时间:2015-05-17 23:07:09

标签: ios uitableview

当我打电话

[tableView deleteRowsAtIndexPaths:@[indexPath]    
withRowAnimation:UITableViewRowAnimationNone];

对于传递给withRowAnimation参数的常量并不重要,动画总是相同的,在淡出时,行在其上方的行后面滑动。我想要UITableViewRowAnimationRight行为,但我也想知道为什么会出现故障。即使我将UITableViewRowAnimationNone作为参数传递,如上所述,动画仍然会触发。

这是方法的完整代码,以防我无意中在其他地方做错了

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath 
{
    if (editingStyle == UITableViewCellEditingStyleDelete) {            
        // Delete file represented by row
        NSString *fileDirectoryString = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
        NSString *filePath = [fileDirectoryString stringByAppendingPathComponent:self.files[indexPath.row]];

        NSError *error;
        [[NSFileManager defaultManager] removeItemAtPath:filePath error:&error];

        if (!error) {
            [tableView beginUpdates];

            [tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationNone];

            [tableView endUpdates];
        } else {
            NSLog(@"%@", [error localizedDescription]);
        }

    }
}

0 个答案:

没有答案