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

UIPickerView控件的使用

2015-10-04 18:54 351 查看

UIPickerView控件的使用

1.首先UIPickerView得遵循

UIPickerViewDelegate,UIPickerViewDatasource

2.实现两个数据源方法

#pragma mark - picker view dataSource
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
return 2;
}

- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{
return _names.count;
}


3.实现UIPickerView的delegate方法

#pragma mark - picker view delegate
- (CGFloat)pickerView:(UIPickerView *)pickerView widthForComponent:(NSInteger)component
{
if (component == 0) {
return 50;
} else {
return 200;
}
}

- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
{
if (component == 0) {
return [@(row) stringValue];
} else {
return _names[row];
}
}

- (NSAttributedString *)pickerView:(UIPickerView *)pickerView attributedTitleForRow:(NSInteger)row forComponent:(NSInteger)component
{
if (component == 1 && row == 0) {
NSAttributedString *attrStr = [[NSAttributedString alloc] initWithString:_names[row] attributes:@{NSForegroundColorAttributeName:[UIColor redColor],NSStrikethroughStyleAttributeName:@1}];
return attrStr;
}

return nil;
}


若要将内容展现出来

// 非常重要
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
if (component == 0) {
_number.text = [@(row) stringValue];
} else {
_name.text = _names[row];
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: