iOS 仿京东地址选择器

题外话:

相信做过商城的程序猿,都会用到地址选择器。项目中用什么样的地址选择器呢?有时候是产品说了算,有时候是程序猿说了算。类似京东的地址选择器是个不错的选择。下面就给大家分享一下我自定义的这个京东地址选择器。希望对你有帮助。

使用:

为了保证iOS开发都能使用,OC 版和Swift版都写了

OC:https://github.com/FighterLightning/ZHFJDAddressOC.git

Swift:https://github.com/FighterLightning/ZHFJDAddress.git

以OC为例:

1.下载该demo。把Address文件拖进项目(里面有一个View(主要),五个model(一个网络,剩下省市区乡镇))

2.pod 'AFNetworking'//网络请求    pod 'YYModel' //字典转模型(这两个可以根据需求添加)

3.控制器里的代码就以你下载的demo为准了。

4.你主要需要关注的是ZHFAddTitleAddressView.m 这个方法

-(void)getAddressMessageDataAddressID:(NSInteger)addressID provinceIdOrCityId: (NSString *)provinceIdOrCityId

addressID 决定的是展现那个tableView,  provinceIdOrCityId这个决定要请求的是省市区还是乡镇。

代码思路分析:

这个思路主要来源于以前自己写的仿网易的头部导航,有兴趣可以看一下。https://github.com/FighterLightning/ZHFSegment.git

感觉都是scrollView与tableView结合的附带一个展示头的东西。那就是逻辑展示问题了。

然后我就在-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

通过对这个点击方法里 self.titleMarr,( 存放选中地址名字的可变数组)

self.titleIDMarr (存放选中地址ID的可变数组)

进行增加,删除,改。

然后获得下一级数据(同时判断是否有下一级,没有直接回收地址选择器)

把当前地址展示,同时把ID传入控制器。

欢迎下载使用,可三级地址选择,可四级地址选择,可用本地文件,可用网络请求,方法已在代码中注释清楚。(保证集成成功)

这是该项目的GIF图

你可能感兴趣的:(iOS 仿京东地址选择器)