UIPickerView多列依赖列表互动示例
来源:互联网 发布:sql server 2008创建表 编辑:程序博客网 时间:2024/05/01 23:31
在storyboard中拖一个Picker View控件进来,属性保持默认。并给它定义一个变量pickerView1
头文件
//// PickerViewController.h// UIViewDemo//// Created by dcr on 2016/12/27.// Copyright © 2016年. All rights reserved.//#import <UIKit/UIKit.h>@interface PickerViewController : UIViewController <UIPickerViewDataSource, UIPickerViewDelegate>@end
实现文件
//// PickerViewController.m// UIViewDemo//// Created by dcr on 2016/12/27.// Copyright © 2016年. All rights reserved.//#import "PickerViewController.h"@interface PickerViewController ()@property (weak, nonatomic) IBOutlet UIPickerView *pickerView1;@property (strong, nonatomic) NSArray *province;@property (strong, nonatomic) NSArray *guangdong;@property (strong, nonatomic) NSArray *jiangxi;@property (strong, nonatomic) NSArray *guangxi;@property (strong, nonatomic) NSArray *hunan;@property (strong, nonatomic) NSDictionary *citys;@property (strong, nonatomic) NSString *selectIndex;@end@implementation PickerViewController //设置列数- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView{ return 2;}//设置每列行数- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component{ if(component == 0){ return _province.count; }else{ return [[_citys objectForKey:_selectIndex] count]; }}- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. _province = [[NSArray alloc] initWithObjects:@"广东省", @"江西省", @"广西省", @"湖南省", nil]; _guangdong = [[NSArray alloc] initWithObjects:@"茂名市", @"广州市", @"深圳市", @"惠州市", @"东莞市", @"中山市", nil]; _jiangxi = [[NSArray alloc] initWithObjects:@"南昌市", @"九江市", @"吉安市", @"赣州市", nil]; _guangxi = [[NSArray alloc] initWithObjects:@"桂林市", @"梧州市", @"北海市", @"南宁市", nil]; _hunan = [[NSArray alloc] initWithObjects:@"长沙市", @"常德市", @"株洲市", @"湘潭市", @"邵阳市", @"娄底市", nil]; _citys = [[NSDictionary alloc] initWithObjects:[NSArray arrayWithObjects:_guangdong, _jiangxi, _guangxi, _hunan, nil] forKeys:[NSArray arrayWithObjects:@"广东省", @"江西省", @"广西省", @"湖南省", nil]]; _selectIndex = @"广东省"; //设置协议代理 _pickerView1.delegate = self; _pickerView1.dataSource = self;}//显示值- (nullable NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component{ if(component == 0){ return [_province objectAtIndex:row]; }else{ return [[_citys objectForKey:_selectIndex] objectAtIndex:row]; }}//选择事件- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component{ if(component == 0){ NSLog(@"_province = %@", [_province objectAtIndex:row]); _selectIndex = [_province objectAtIndex:row]; //加载第二列数据 [_pickerView1 reloadComponent:1]; //恢复第二列第一个 [_pickerView1 selectRow:0 inComponent:1 animated:true]; }else{ NSLog(@"_city = %@", [[_citys objectForKey:_selectIndex] objectAtIndex:row]); }}- (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated.}/*#pragma mark - Navigation// In a storyboard-based application, you will often want to do a little preparation before navigation- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { // Get the new view controller using [segue destinationViewController]. // Pass the selected object to the new view controller.}*/@end实现效果
示例下载地址:http://download.csdn.net/detail/deng0zhaotai/9724310
0 0
- UIPickerView多列依赖列表互动示例
- UIPickerView 实现多列选择栏
- iOS之UIPickerView的使用--多列选择器
- iOS之UIPickerView的使用--多列关联选择器
- (UIPickerView)选择器的使用--相互依赖的多列选择器
- UIPickerView两列依附关系
- AJAX下拉列表互动
- 两个UIPickerView控件间的数据依赖
- 三级关联互动下拉列表
- UIPickerView
- UIPickerView
- UIPickerView
- UIPickerView
- UIPickerView
- UIPickerView
- UIPickerView
- UIPickerView
- UIPickerView
- 挂机网赚eBesucher账户注册教程及Windows VPS挂机设置
- HDU5965-扫雷
- 一个简单的linux命令——less
- 简易天气预报代码
- 前端开发的启程
- UIPickerView多列依赖列表互动示例
- mybatis拦截器的执行顺序
- Java中子类重写父类的思想本质
- 自己写的触壁反弹效果!!js
- Jquery 修改 动态生成的Html代码
- WebService到底是什么?
- RabbitMQ的Android端接收
- config库和operational库的区别
- Log4j配置spring+druid打印日志