UITableView 长按拖拽 cell 移动

UITableView  长按拖拽  


系统提供了移动cell的方法,但是需要点击按钮,页面也会进入编辑模式。

https://github.com/pujiaxin33/JXMovableCellTableView

长按即可移动  页面也不会偏移


dataSourceArrayInTableView  这个方法 可以不用,他会将你传入的数据在移动结束后直接修改,但是在页面有textview 的时候出现了数据错乱的情况,我没有仔细看源代码,有时间可以去看一下, _dataSource 是 可变数据 包含 可变数组的 格式

- (NSMutableArray *)dataSourceArrayInTableView:(JXMovableCellTableView *)tableView

{

    return _dataSource;

}


因为 出现了数据错乱的情况  所以我用了下面的方法   两个方法不能同时使用 

- (void)tableView:(JXMovableCellTableView*)tableViewdidMoveCellFromIndexPath:(NSIndexPath*)fromIndexPathtoIndexPath:(NSIndexPath*)toIndexPath {

        NSIntegerfromRow = [fromIndexPathrow];

    //    获取移动某处的位置

        NSIntegertoRow = [toIndexPathrow];

        idobject = [self.baseSourArrobjectAtIndex:fromRow];

    //    在数组中移动需要移动的行的数据

        [self.baseSourArrremoveObjectAtIndex:fromRow];

    //    把需要移动的单元格数据在数组中,移动到想要移动的数据前面

        [self.baseSourArrinsertObject:objectatIndex:toRow];

    [self.mTableView reloadData];

}

你可能感兴趣的:(UITableView 长按拖拽 cell 移动)