UIPickerView(选择框)
2016-01-12 22:47
405 查看
dic=@{@"xian":@[@"a",@"b",@"c"],@"hangzhou":@[@"d",@"e",@"f"],@"wuhan":@[@"g",@"h",@"z"]};
NSString *path=[[NSBundle mainBundle]pathForResource:@"cities" ofType:@"plist"];
arry1=[[NSMutableArray alloc]initWithContentsOfFile:path];
NSLog(@"%@",arry1);
leftarry=[[NSMutableArray alloc]initWithArray:[dic allKeys]];
rightarry=[[NSMutableArray alloc]init];
arry=[[NSMutableArray alloc]initWithObjects:@"nihao",@"hahah",@"huhuh" ,nil];
mypickerview=[[UIPickerView alloc]initWithFrame:CGRectMake(0, 100, self.view.frame
4000
.size.width
, 200)];
mypickerview.delegate=self;
mypickerview.dataSource=self;
//当前的显示行与列
[mypickerview selectRow:2 inComponent:1 animated:YES];
[self.view addSubview:mypickerview];
//重新加载
[pickerView reloadComponent:1];
}
// returns the number of 'columns' to display.
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView{
return 2;
}
// returns the # of rows in each component..
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component{
if (component==0) {
return leftarry.count;
}else{
return rightarry.count;
}
}
//在某一列选完某行之后所产生的响应
-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row
inComponent:(NSInteger)component{
NSLog(@"com%ld row%ld",(long)component,(long)row);
if (component==0) {
rightarry=[dic objectForKey:leftarry[row]];
NSLog(@"%@",rightarry);
[pickerView reloadComponent:1];
}
}
//显示字体
-(NSString*)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row
forComponent:(NSInteger)component{
if (component==0) {
return [[dic allKeys] objectAtIndex:row];
}else {
return rightarry[row];
}
}
//带属性的字体
//-(NSAttributedString *)pickerView:(UIPickerView *)pickerView attributedTitleForRow:(NSInteger)row forComponent:(NSInteger)component{
// NSString *string=@"hahahhahha";
// NSMutableAttributedString *str=[[NSMutableAttributedString alloc]initWithString:string];
// [str addAttribute:NSForegroundColorAttributeName value:[UIColor cyanColor] range:NSMakeRange(0, 2)];
// return str;
//}
////显示一个view
//-(UIView*)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view{
// UILabel *mylabel=[[UILabel alloc]initWithFrame:CGRectMake(0, 0, 100, 20)];
// mylabel.text=@"hahah";
// mylabel.backgroundColor=[UIColor cyanColor];
// mylabel.layer.cornerRadius=5;
// mylabel.layer.masksToBounds=YES;
// return mylabel;
//}
//
NSString *path=[[NSBundle mainBundle]pathForResource:@"cities" ofType:@"plist"];
arry1=[[NSMutableArray alloc]initWithContentsOfFile:path];
NSLog(@"%@",arry1);
leftarry=[[NSMutableArray alloc]initWithArray:[dic allKeys]];
rightarry=[[NSMutableArray alloc]init];
arry=[[NSMutableArray alloc]initWithObjects:@"nihao",@"hahah",@"huhuh" ,nil];
mypickerview=[[UIPickerView alloc]initWithFrame:CGRectMake(0, 100, self.view.frame
4000
.size.width
, 200)];
mypickerview.delegate=self;
mypickerview.dataSource=self;
//当前的显示行与列
[mypickerview selectRow:2 inComponent:1 animated:YES];
[self.view addSubview:mypickerview];
//重新加载
[pickerView reloadComponent:1];
}
// returns the number of 'columns' to display.
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView{
return 2;
}
// returns the # of rows in each component..
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component{
if (component==0) {
return leftarry.count;
}else{
return rightarry.count;
}
}
//在某一列选完某行之后所产生的响应
-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row
inComponent:(NSInteger)component{
NSLog(@"com%ld row%ld",(long)component,(long)row);
if (component==0) {
rightarry=[dic objectForKey:leftarry[row]];
NSLog(@"%@",rightarry);
[pickerView reloadComponent:1];
}
}
//显示字体
-(NSString*)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row
forComponent:(NSInteger)component{
if (component==0) {
return [[dic allKeys] objectAtIndex:row];
}else {
return rightarry[row];
}
}
//带属性的字体
//-(NSAttributedString *)pickerView:(UIPickerView *)pickerView attributedTitleForRow:(NSInteger)row forComponent:(NSInteger)component{
// NSString *string=@"hahahhahha";
// NSMutableAttributedString *str=[[NSMutableAttributedString alloc]initWithString:string];
// [str addAttribute:NSForegroundColorAttributeName value:[UIColor cyanColor] range:NSMakeRange(0, 2)];
// return str;
//}
////显示一个view
//-(UIView*)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view{
// UILabel *mylabel=[[UILabel alloc]initWithFrame:CGRectMake(0, 0, 100, 20)];
// mylabel.text=@"hahah";
// mylabel.backgroundColor=[UIColor cyanColor];
// mylabel.layer.cornerRadius=5;
// mylabel.layer.masksToBounds=YES;
// return mylabel;
//}
//
相关文章推荐
- UIScrollView(滑动视图)
- UIAlertController
- UIPageControl
- UIActionSheet
- UIAlertView(警告提示)
- UINavigationController(导航控制器)
- UIView
- UIActivityIndicatorView(菊花)
- Values of attribute "level" not equal in different manifest snippets.
- 第一天接触ui感觉有点乱啊,今天只有笔记,明天复习敲完代码在发代码
- UIButton
- iOS UIImageView
- 198,自定义UITableViewCell(一)
- Errors occurred during the build.
- gnuradio入门-基于GUI的FM接收机的实现
- 、UIDynamic介绍
- UIAlertController 的使用——NS_CLASS_AVAILABLE_IOS(8_0)
- 前端开发入门:vue.js
- 修改基于zxing库的cordova扫描二维码插件BarcodeScan扫码界面的UI
- UEditor 1.4.3.1.NET版本上传配置备忘录