您的位置:首页 > 产品设计 > UI/UE

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;
//}
//
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: