CYC-UIPickerView(省份+城市)
来源:互联网 发布:河南郑州淘宝衣族 编辑:程序博客网 时间:2024/05/11 12:53
@interface IkrboyViewController : UIViewController{ NSDictionary *dict;//用于存储省份-城市的数据 NSArray *provinceArray;//省份的数组 NSArray *cityArray;//城市的数组,在接下来的代码中会有根据省份的选择进行数据更新的操作 }
在.m的viewDidLoad方法中加上初始化数据的处理。具体处理在initPicker方法
- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. [self initPicker]; } //初始化PickerView使用的数据源 -(void)initPicker{ NSBundle *bundle = [NSBundle mainBundle]; NSString *plistPath = [bundle pathForResource:@"provinces_cities" ofType:@"plist"]; dict = [[NSDictionary alloc] initWithContentsOfFile:plistPath]; provinceArray = [dict allKeys]; NSInteger selectedProvinceIndex = [self.pickerView selectedRowInComponent:0]; NSString *seletedProvince = [provinceArray objectAtIndex:selectedProvinceIndex]; cityArray = [dict objectForKey:seletedProvince]; NSLog(@"%d",[provinceArray count]); }
将数据绑定到UIPickerView
//以下3个方法实现PickerView的数据初始化 //确定picker的轮子个数 - (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView { return 2; } //确定picker的每个轮子的item数 - (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component { if (component == 0) {//省份个数 return [provinceArray count]; } else {//市的个数 return [cityArray count]; } } //确定每个轮子的每一项显示什么内容 #pragma mark 实现协议UIPickerViewDelegate方法 -(NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component { if (component == 0) {//选择省份名 return [provinceArray objectAtIndex:row]; } else {//选择市名 return [cityArray objectAtIndex:row]; } }
随时监听UIPickerView的滚动。
//监听轮子的移动 - (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component { if (component == 0) { NSString *seletedProvince = [provinceArray objectAtIndex:row]; cityArray = [dict objectForKey:seletedProvince]; //重点!更新第二个轮子的数据 [self.pickerView reloadComponent:1]; NSInteger selectedCityIndex = [self.pickerView selectedRowInComponent:1]; NSString *seletedCity = [cityArray objectAtIndex:selectedCityIndex]; NSString *msg = [NSString stringWithFormat:@"province=%@,city=%@", seletedProvince,seletedCity]; NSLog(@"%@",msg); } else { NSInteger selectedProvinceIndex = [self.pickerView selectedRowInComponent:0]; NSString *seletedProvince = [provinceArray objectAtIndex:selectedProvinceIndex]; NSString *seletedCity = [cityArray objectAtIndex:row]; NSString *msg = [NSString stringWithFormat:@"province=%@,city=%@", seletedProvince,seletedCity]; NSLog(@"%@",msg); } }
利用下面的代码,获得UIPickerView的不同Component(滚轮)的选中的index
NSInteger selectedProvinceIndex = [self.pickerView selectedRowInComponent:0]; NSInteger selectedCityIndex = [self.pickerView selectedRowInComponent:1];
0 0
- CYC-UIPickerView(省份+城市)
- (转)IOS之简单选择器UIPickerView(省份+城市)
- iOS开发UI篇 -- UIPickerView(省份+城市)
- IOS之简单选择器UIPickerView(省份+城市)
- IOS UIPickerView的简单使用 省份+城市 联动
- ios-day10-03(省份和城市联动。UIPickerView的使用、使用UIPickerView的reloadComponent:方法刷新某一列)
- UIPickerView的简单应用——省份/城市选择的实现
- 城市、省份、地区数据列表(SQL)
- Javascript省份城市(js代码)
- Javascript省份城市(html代码)
- 中国省份城市列表(汉字+拼音)
- 一对多映射(省份--城市)
- 中国省份与城市 app常用省份和城市(2015-4-16日 更新)
- 全国省份城市数据
- 省份,城市联动显示
- 构建省份城市级联
- 省份城市联动
- 省份城市oracle脚本
- Linux设备驱动之六----异步通知的驱动程序
- java线程的创建总结
- 看代码
- 新版Windows Azure CDN管理门户正式上线
- c# 拖动窗体
- CYC-UIPickerView(省份+城市)
- 5.php File文件操作,Php的Clas,sql 初接触
- 博弈论——1
- JPA学习
- 动态设置Cell的高度
- 博弈论——2
- excel文件生成本地数据库
- AutoCompleteTextView
- C++基础——非类型模板参数