# ChooseAreaModule (opens new window)
# 该组件实现多级联动选择器功能。
# 说明
- 多级分类选择器,用于项目中的分类选择(地址、仓库类型等)。
# 安装
- 该组件适用于IOS 10 (opens new window) 及以上SDK应用运行
- 该组件遵守Cocoapods (opens new window) 协议,并通过Cocoapods (opens new window) 进行集成
在项目 Podfile 文件内添加
pod 'ChooseAreaModule',:git => 'http://192.168.100.254:3000/iosteam/ChooseAreaModule.git',:branch => 'gaojw'
在项目目录下执行脚本
pod install
插件即可集成至项目内
# ChooseAreaViewController说明
- limitIndex 限制层级数,当选择层级为limitIndex时,将数据调用chooseAreasArrayBlock传出,默认为3
- titleString 顶部标题
- areasArray 已选择的地区数组NSArray<ChooseAreaInfo *>(福建省—福州市—仓山区)
- allAreasArray 已选择的地区二维数组([北京市、福建省…][福州市、厦门市…][鼓楼区、台江区…])
- allAreasTree 所有的地区数组(树形结构),含所有子区域。设置时与allAreasArray二选一(已获取所有分级数据时,使用allAreasTree;只获取部分分组数据时,使用allAreasArray)
/**
选择地区结束回调
*/
void (^chooseAreasArrayBlock)(NSArray *areasArray,NSArray *allAreasArray)
/**
选中地区回调(非结束选择)。
如果设置了allAreasTree,不处理该回调;否则调用请求更多分类数据。
*/
void (^didSelectRowAreasInfoBlock)(NSArray *titlesArray,NSArray *chooseAreaArray,NSInteger selectedIndex)
/**
请求数据处理,didSelectRowAreasInfoBlock请求数据后调用
*/
-(void)choosedChooseAreaInfoForAreas:(NSArray <ChooseAreaInfo *>*)areas index:(NSInteger)index
# 使用
- 使用时导入 #import "ChooseAreaModule.h"
- 设置相关的属性、及回调处理
- didSelectRowAreasInfoBlock 分类选中后,下一级数据的请求处理(请求到数据后请调用choosedChooseAreaInfoForAreas:index:方法设置新的分类数据)
- chooseAreasArrayBlock 结束选择后的处理(界面刷新等)
- isShowOn 显示选择界面(所有的属性配置需要在isShowOn方法之前赋值,在isShowOn方法之后赋值会有奇怪的bug,titleString在isShowOn后设置。)
注意事项: ChooseAreaViewController使用ChooseAreaInfo模型,其它数据类型先转换后使用,原数据可以使用ChooseAreaInfo.originInfoArray获取。
至此组件介绍完毕。