1

我有一个不会重新排序的表格视图。看起来 moveRowAtIndexPath 从未使用与destinationIndexPath 不同的sourceIndexPath 调用。当我拉一排时,它会弹回其起始位置,就好像该排不支持移动一样。

我尝试实现所有“canMove/canEdit/propose”方法以返回 YES,但我观察到相同的行为。这是怎么回事?

- (void) tableView:(UITableView *)tableView
moveRowAtIndexPath:(NSIndexPath *)sourceIndexPath
       toIndexPath:(NSIndexPath *)destinationIndexPath {

    NSLog(@"%d -> %d", [sourceIndexPath row], [destinationIndexPath row]);
    if ([sourceIndexPath row] == [destinationIndexPath row]) {
        return;
    }

    MyDomain *domain = [self getObject];
    [domain.stuff exchangeObjectAtIndex:(NSUInteger) [sourceIndexPath row] withObjectAtIndex:(NSUInteger) [destinationIndexPath row]];
}
4

1 回答 1

2

我正在使用 IIViewDeckController,它取消了视图中的平移。

设置 ViewDeckController 时,执行以下操作: self.panningCancelsTouchesInView = NO;

于 2013-05-18T22:31:52.573 回答