首页 > 代码库 > IOS_UIPickerView
IOS_UIPickerView
#import "ViewController.h" @implementation ViewController NSArray *category; //第一列存储类别 NSArray *name; //第二列存储该列别下对应的名称 NSDictionary *data; NSString *defaultSel; //默认选择的项目 @synthesize pickerView; - (void)viewDidLoad { [super viewDidLoad]; //初始化数组 //category = [NSArray arrayWithObjects:@"人",@"动物",@"水果",@"蔬菜",nil]; name = [NSArray arrayWithObjects:@"狗",@"猫",@"乌龟",@"小鸡",nil]; data = [NSDictionary dictionaryWithObjectsAndKeys: [NSArray arrayWithObjects:@"男",@"女",@"老",@"幼",nil],@"人", [NSArray arrayWithObjects:@"狗",@"猫",@"乌龟",@"小鸡",nil],@"动物", [NSArray arrayWithObjects:@"橡胶",@"柿",@"栗子",@"苹果",nil],@"水果", [NSArray arrayWithObjects:@"白菜",@"萝卜",@"丝瓜",@"茄子",nil],@"蔬菜", nil]; //对key进行排序 category = [[data allKeys] sortedArrayUsingSelector:@selector(compare:) ]; defaultSel = [category objectAtIndex:0]; //默认选中的项 //初始化pickView pickerView = [[UIPickerView alloc] initWithFrame:CGRectMake(0,300, 0,0)]; // pickerView.contentMode = UIViewContentModeCenter; //为pickerView 设定数据源和代理 self.pickerView.dataSource = self; self.pickerView.delegate = self; //pickerView.alpha = 0.2; [pickerView setContentMode:UIViewContentModeBottom]; //[pickerView setBackgroundColor:[UIColor redColor]]; //添加到视图中 [self.view addSubview:pickerView]; } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } //该方法的返回值决定,pickerView 视图中将有几列 - (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView{ return 2; //返回1,表示有1列 } //返回值决定,指定component 中包含多少行 - (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component{ if (component == 0) { return category.count; } return [[data objectForKey:defaultSel] count]; } // 返回值,将作为指定列表和列表项的文本 - (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component{ if (component == 0) { return [category objectAtIndex:row]; } return [[data objectForKey:defaultSel] objectAtIndex:row]; } //当选中列表项中指定列时候触发 - (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component{ if (component == 0) { defaultSel = [category objectAtIndex:row]; [self.pickerView reloadComponent:1]; //从新加载第二列的数据 } /* NSArray *tmp = component == 0?category:name; NSString *tip = component == 0?@"类别":@"名称"; UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"信息" message:[NSString stringWithFormat:@"你选中的是:%@,名称是:%@",tip,[tmp objectAtIndex:row]] delegate:nil cancelButtonTitle:@"取消" otherButtonTitles:nil]; [alertView show]; */ } //指定pickView列的宽度 - (CGFloat)pickerView:(UIPickerView *)pickerView widthForComponent:(NSInteger)component{ if (component ==0) { return 90; } return 200; } @end
IOS_UIPickerView
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。