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图
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • vector的使用 list的使用 deque的使用 set的使用 map的使用 multiset的使用 mult...
    863cda997e42阅读 1,066评论 0 0
  • 四点多钟,便早早地在大众空港宾馆醒来了。不需要闹钟费力地吵闹,不需要努力克服惺忪的睡眼,就这样莫名地自己醒来...
    芷水CDY阅读 228评论 0 1
  • 胡大学骑着自行车在各个村子里操着浑厚的声音喊着卖菜,少年的傲气与鲁莽在他身上渐渐褪色,他媳妇生了一个儿子,还不到一...
    寒秋火枫阅读 318评论 0 1