UITableView 长按拖拽 cell 移动

2021-03-06  本文已影响0人  超级码LEO

UITableView  长按拖拽  

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

https://github.com/pujiaxin33/JXMovableCellTableView

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

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

- (NSMutableArray <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];

}

上一篇 下一篇

猜你喜欢

热点阅读