OC三方框架04:HDCollectionView探索

张建 lol

1.HDCollectionView 初始化 (配置的参数优先级高于默认值)

1
2
3
4
/**
HDCollectionView 初始化 (配置的参数优先级高于默认值)
*/
+ (__kindof HDCollectionView*)hd_makeHDCollectionView:(void(^ _Nullable)(HDCollectionViewMaker*maker))maker;

2.刷新colletionView

1
2
3
4
/**
刷新colletionView
*/
- (void)hd_reloadData;

3.一次性初始化所有数据 (完成后会回调 dataChangeFinishedCallBack)

1
2
3
4
/**
一次性初始化所有数据 (完成后会回调 dataChangeFinishedCallBack)
*/
- (void)hd_setAllDataArr:(NSArray<id<HDSectionModelProtocol>>* _Nullable)dataArr;

4.包含所有数据改变相关方法完成后的回调(即setAll/append/delete/change相关的函数完成后都会在此回调)

1
2
3
4
/**
包含所有数据改变相关方法完成后的回调(即setAll/append/delete/change相关的函数完成后都会在此回调)
*/
- (void)hd_dataChangeFinishedCallBack:(void(^)(HDDataChangeType changeType))finishCallback;

5.直接添加一个新的secModel (完成后会回调 dataChangeFinishedCallBack)

1
2
3
4
/**
直接添加一个新的secModel (完成后会回调 dataChangeFinishedCallBack)
*/
- (void)hd_appendDataWithSecModel:(id<HDSectionModelProtocol>)secModel animated:(BOOL)animated;

6.插入一个secModel到指定位置
index <= 0 插入到首段
index >= allDataArr.count 添加到最后一段
0 < index < allDataArr.count 插入到index段的前面

1
2
3
4
5
6
7
/**
插入一个secModel到指定位置
index <= 0 插入到首段
index >= allDataArr.count 添加到最后一段
0 < index < allDataArr.count 插入到index段的前面
*/
- (void)hd_insertDataWithSecModel:(id<HDSectionModelProtocol>)secModel atIndex:(NSInteger)index animated:(BOOL)animated;

7.向某个段内增加cell/默认的sectionKey是第几段
该方法目前对于瀑布流元素的增加,内部计算是增量计算的。但对于HDYogaFlowLayout会对该段整体重新计算
如果想增量计算HDYogaFlowLayout,使用hd_appendDataWithSecModel,新增一个新的段。

1
2
3
4
5
6
7
/**
向某个段内增加cell/默认的sectionKey是第几段
该方法目前对于瀑布流元素的增加,内部计算是增量计算的。但对于HDYogaFlowLayout会对该段整体重新计算
如果想增量计算HDYogaFlowLayout,使用hd_appendDataWithSecModel,新增一个新的段。
*/
- (void)hd_appendDataWithCellModelArr:(NSArray<id<HDCellModelProtocol>>*)itemArr sectionKey:(NSString*)sectionKey animated:(BOOL)animated animationFinishCallback:(void(^ _Nullable)(void))animationFinish;
- (void)hd_appendDataWithCellModelArr:(NSArray<id<HDCellModelProtocol>>*)itemArr sectionKey:(NSString*)sectionKey animated:(BOOL)animated;

8.如果仅仅是向secModel新增cellModel,使用 hd_appendDataWithCellModelArr方法
该方法改变已有的某个section内的数据,比如对sectionDataArr增删
如果设置了SectionModel的sectionKey,则可以通过sectionKey来获取secModel。默认的sectionKey是当前段数
想要刷新一个或几个cell的UI时,调用此方法

1
2
3
4
5
6
7
8
9
/**
如果仅仅是向secModel新增cellModel,使用 hd_appendDataWithCellModelArr方法
该方法改变已有的某个section内的数据,比如对sectionDataArr增删
如果设置了SectionModel的sectionKey,则可以通过sectionKey来获取secModel。默认的sectionKey是当前段数
想要刷新一个或几个cell的UI时,调用此方法
*/
- (void)hd_changeSectionModelWithKey:(nullable NSString*)sectionKey animated:(BOOL)animated changingIn:(void(^)(id<HDSectionModelProtocol> secModel))changeBlock animationFinishCallback:(void(^ _Nullable)(void))animationFinish;
- (void)hd_changeSectionModelWithKey:(nullable NSString*)sectionKey animated:(BOOL)animated changingIn:(void(^)(id<HDSectionModelProtocol> secModel))changeBlock;

9.删除某段的所有内容

1
2
3
4
5
/**
删除某段的所有内容
*/
- (void)hd_deleteSectionWithKey:(nullable NSString*)sectionKey animated:(BOOL)animated animationFinishCallback:(void(^ _Nullable)(void))animationFinish;
- (void)hd_deleteSectionWithKey:(nullable NSString*)sectionKey animated:(BOOL)animated;

10.某个key的sectionModel是否存在

1
2
3
4
/**
某个key的sectionModel是否存在
*/
- (BOOL)hd_sectionModelExist:(NSString*)sectionKey;

11.删除某段的所有内容

1
2
3
4
5
/**
删除某段的所有内容
*/
- (void)hd_deleteSectionWithKey:(nullable NSString*)sectionKey animated:(BOOL)animated animationFinishCallback:(void(^ _Nullable)(void))animationFinish;
- (void)hd_deleteSectionWithKey:(nullable NSString*)sectionKey animated:(BOOL)animated;
  • Post title:OC三方框架04:HDCollectionView探索
  • Post author:张建
  • Create time:2020-08-04 16:47:31
  • Post link:https://redefine.ohevan.com/2020/08/04/OC三方框架/OC三方框架04:HDCollectionView探索/
  • Copyright Notice:All articles in this blog are licensed under BY-NC-SA unless stating additionally.
On this page
OC三方框架04:HDCollectionView探索