iOS UICollectionView UICollectionViewCell长按拖动重新排序框架(ios16锁屏字体大小怎么调)

网友投稿 1463 2022-10-11

iOS UICollectionView UICollectionViewCell长按拖动重新排序框架(ios16锁屏字体大小怎么调)

iOS UICollectionView UICollectionViewCell长按拖动重新排序框架(ios16锁屏字体大小怎么调)

效果演示

介绍

本框架是一个让你轻松实现类似支付宝的拖拽重排功能,支持自定义,iOS8+,具体可查看代码。

CocoaPods 安装

pod 'BMLongPressDragCellCollectionView'pod install#import "BMLongPressDragCellCollectionView.h"

手动安装

-项目 「 clone https://github.com/liangdahong/BMLongPressDragCellCollectionView.git 」将 BMLongPressDragCellCollectionView/Sources/BMLongPressDragCellCollectionView 文件夹下的全部内容拖拽到你的项目。

使用说明

BMLongPressDragCellCollectionView 是继自 UICollectionView ,其使用方式和 UICollectionView 一致,只需要把 UICollectionView 修改为 BMLongPressDragCellCollectionView 即可【支持 Xib,StoryBoard】。原来的 UICollectionViewDataSource 换为 BMLongPressDragCellCollectionViewDataSource原来的 UICollectionViewDelegateFlowLayout 换为 BMLongPressDragCellCollectionViewDelegate。实现数据源方法,内部会使用此方法获取数据源,必须实现。

- (nullable NSArray *)dataSourceWithDragCellCollectionView:(BMLongPressDragCellCollectionView *)dragCellCollectionView;

如下:

- (NSArray *)dataSourceWithDragCellCollectionView:(BMLongPressDragCellCollectionView *)dragCellCollectionView { return self.dataSourceArray;}

实现代理方法,当 Cell 有交换时调用,需要外面保存最新的数据源【如果有交换时,数据源已经更新】,必须实现。

- (void)dragCellCollectionView:(BMLongPressDragCellCollectionView *)dragCellCollectionView newDataArrayAfterMove:(nullable NSArray *)newDataArray;

如下:

- (void)dragCellCollectionView:(BMLongPressDragCellCollectionView *)dragCellCollectionView newDataArrayAfterMove:(nullable NSArray *)newDataArray { self.dataSourceArray = [newDataArray mutableCopy];}

图文演示

在 Xib或者 StoryBoard 中使用

在 Xib或者 StoryBoard 中只需要上面的 3 步就可以让你的 UICollectionView 完美支持拖拽重排了。

使用纯代码实现

在纯代码实现中只需要上面的 3 步 就可以让你的 UICollectionView 完美支持拖拽重排了。

更多自定义方案

如果要做一些自定义的操作可以通过设置 BMLongPressDragCellCollectionView 的相关属性或者实现一些特定的协议方法来处理,可查看 BMLongPressDragCellCollectionView 的头文件和 BMLongPressDragCellCollectionViewDelegate 与 BMLongPressDragCellCollectionViewDataSource 协议。

联系

感谢

核心实现参考自XWDragCellCollectionView,特别感谢。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Grafana9.0发布,Prometheus和Loki查询生成器、全新导航、热图面板等新功能!
下一篇:UNIX系统下删除老旧Maven依赖包的方法
相关文章

 发表评论

暂时没有评论,来抢沙发吧~