微前端架构如何改变企业的开发模式与效率提升
1463
2022-10-11
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小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~