遵循代理,然后实现下面的代理方法即可:
pickerView.delegate = self;
pickerView.dataSource = self;
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView*)pickerView
{
return 1;
}
- (CGFloat)pickerView:(UIPickerView *)pickerView rowHeightForComponent:(NSInteger)component
{
return 40;
}
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{
return self.genderArray.count;
}
- (void)pickerView:(UIPickerView *)pickerView didSelectRow: (NSInteger)row inComponent:(NSInteger)component
{
_genderStr = [NSString stringWithFormat:@"%@",self.genderArray[row]];//获取选中的文字,以便于在别的地方使用
}
- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view
{
//设置分割线的颜色
for(UIView *singleLine in pickerView.subviews)
{
if (singleLine.frame.size.height < 1)
{
singleLine.backgroundColor = kSingleLineColor;
}
}
//设置文字的属性
UILabel *genderLabel = [UILabel new];
genderLabel.textAlignment = NSTextAlignmentCenter;
genderLabel.text = self.genderArray[row];//self.genderArray里边内容为@[@"男",@"女"]
genderLabel.textColor = kSpecialTextColor;
return genderLabel;
}