@property (strong,nonatomic) UIPickerView *pickerV;

@property (strong,nonatomic) NSArray *arr;

@property (strong,nonatomic) NSMutableArray *arrCity;

@property (strong,nonatomic) NSMutableArray *arrPro;

@property (assign,nonatomic) int index;

@property (strong,nonatomic) NSString *provice;

@property (strong,nonatomic) NSString *city;

@property (strong,nonatomic) UIButton *btn;

 
 

self.pickerV = [[UIPickerView alloc] initWithFrame:CGRectMake(40, 100, 300, 200)];

self.pickerV.backgroundColor = [UIColor grayColor];

self.pickerV.delegate = self;

self.pickerV.dataSource = self;

[self.view addSubview:self.pickerV];

NSString *path = [[NSBundle mainBundle] pathForResource:@"city" ofType:@".plist"];

self.arr = [NSArray array];

self.arr = [NSArray arrayWithContentsOfFile:path];

self.arrCity = [NSMutableArray array];

self.arrPro = [NSMutableArray array];

for (NSDictionary *dic in self.arr)

{

[self.arrPro addObject:dic[@"State"]];

}

self.index = (int)[self.pickerV selectedRowInComponent:0];

NSDictionary *dic1 = [self.arr objectAtIndex:self.index];

[self.arrCity addObjectsFromArray:dic1[@"Cities"]];

self.btn = [UIButton buttonWithType:UIButtonTypeRoundedRect];

self.btn.backgroundColor = [UIColor blueColor];

-(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView

{

return 2;

}

-(NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component

{

if (component == 0)

{

return self.arrPro.count;

}

else

{

return self.arrCity.count;

}

}

-(NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component

{

if (component == 0)

{

return self.arrPro[row];

}

else

{

return self.arrCity[row][@"city"];

}

}

-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component

{

if (component == 0)

{

[self.arrCity removeAllObjects];

NSString *provice = [self.arrPro objectAtIndex:row];

[self.arrCity addObjectsFromArray:self.arr[row][@"Cities"]];

[self.pickerV reloadComponent:1];

NSInteger cityIndex = [self.pickerV selectedRowInComponent:1];

NSString *city = [self.arrCity objectAtIndex:cityIndex];

NSString *msg = [NSString stringWithFormat:@"%@,%@",provice,city];

NSLog(@"%@",msg);

}

else

{

NSInteger proviceIndex = [self.pickerV selectedRowInComponent:0];

NSString *provice = [self.arrPro objectAtIndex:proviceIndex];

NSString *city = [self.arrCity objectAtIndex:row];

NSString *msg = [NSString stringWithFormat:@"%@,%@",provice,city];

NSLog(@"%@",msg);

}

}

 

省市便利 UIPicherView的更多相关文章

  1. jquery库和cityselect插 件的省市 级联

    /*$(function(){ $("#select_provice").citySelect({ prov:"北京", nodata:"none&q ...

  2. iOS开发之"省市"二级联动的数据组织(PHP版)以及PickerView的实现与封装

    之所以要发表这篇博客,还源于最近的开发工作所实现的一个小的Demo, 当然这个Demo不会涉及工作中App的一些内容,下方要实现的Demo是通用的.因为项目需求的迭代,要求在银行卡绑定中添加支行所在的 ...

  3. asp.net MVC4——省市三级联动

    controller: public ActionResult GetCity(string id) { AreaService _areaSvc = new AreaService(); List& ...

  4. 智软科技医疗器械GSP监管软件通过多省市药监局检查

    提供医疗器械GSP监管软件,通过多省市药监局检查,符合2016年最新GSP监管条例的要求. 企业客户列表 温岭市万悦医疗器械有限公司 杭州市上善医疗器械有限公司 武汉明德生物科技股份有限公司 http ...

  5. JavaScript 省市级联效果

    JavaScript 省市级联效果 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " ...

  6. 省市级联.net

    初学javascript,编译省市级联,使用json在一般处理程序中编译,利用ajax传递数据到web前台 <html xmlns="http://www.w3.org/1999/xh ...

  7. jquery省市联动,根据公司需求而写

    //author:guan //2015-05-25 //省市联动 //实用说明,页面引用如下js //<script src="../js/jquery-1.6.3.min.js&q ...

  8. [java] jsoup 解析网页获取省市区域信息

    到国家统计局抓取数据, 到该class下解析数据 /** * jsoup解析网页 * @author xwolf * @date 2016-12-13 18:11 * @since V1.0.0 */ ...

  9. 关于echarts3地图下钻省市

    最近关于echarts3弄了个地图下钻,也许是因为运气不好,开始上来需要传递到的城市是成都,结果成都地图(js)加载下来总是挤到了一起,好尴尬,各方实验查找后发现原来是js文件中,成都市地图有个县市并 ...

随机推荐

  1. 第六十一节,html超链接和路径

    html超链接和路径 学习要点:     1.超链接的属性     2.相对与绝对路径     3.锚点设置                              本章主要探讨HTML5中文本元素 ...

  2. [妙味 DOM] 第二课:DOM、BOM相关方法及属性

    知识点总结 获取样式.增加样式.删除样式函数的封装 表格 tHead tBodies tFoot rows 行 cells 列 表单 表单可以通过name来获取元素:表单.name值 onchange ...

  3. Spring Aop详尽教程

    一.概念 AOP(Aspect Oriented Programming):面向切面编程. 面向切面编程(也叫面向方面编程),是目前软件开发中的一个热点,也是Spring框架中的一个重要内容.利用AO ...

  4. Java 4

    1.继承的问题 子类是父类的一个扩展,子类可以利用父类的属性与行为,这种情况子类会破坏父类的封装 为了保持父类良好的封装性,设计父类有以下规则: 如果要把某类设计为最终类则需要添加final修饰符,或 ...

  5. hive UDF添加方式

    hive UDF添加的方式 1.添加临时函数,只能在此会话中生效,退出hive自动失效 hive> add jar /home/jtdata/hiveUDF/out0.jar; Added [/ ...

  6. Caffe+Ubuntu14.04+CUDA7.5 环境搭建(新人向)指南

    序 本文针对想学习使用caffe框架的纯新手,如果文中有错误欢迎大家指出. 由于我在搭建这个环境的时候参考了许多网上的教程,但是没有截图,所以文中图片大多来源于网络. 本文没有安装matlab的步骤, ...

  7. TortoiseGit - pull 与 fetch

    Git的Pull其实是fetch与Merge两个命令的合并. 平时遇到的问题是,在本地分支进行了一些修改,准备提交.但是怕提交前有其他人push了新的代码.于是想在提交前,看看远程仓库上的log.这时 ...

  8. FZU 1896 神奇的魔法数 dp

    网上都说是数位dp 但是虽然在队伍里负责动态规划 但是数位dp还不会…… 百度了一下 发现和最大子序列思路差不多…… 最大子序列的dp[i][j]是表示两个序列前i项和前j项的最大子序列…… dp[i ...

  9. Gentoo安装详解(四)-- 声卡设置

    硬件检测 To choose the right driver, first detect the used audio controller. You can use lspci for this ...

  10. MAC VIM 自定义主题

    先从百度云下载 两个 文件 molokai.vim MacVim-snapshot-73-Mavericks.tbz 把macvim 拖到 应用程序里 ,把 mvim 放到 /bin/ 文件夹里 把 ...