iOS学习

编程入门 行业动态 更新时间:2024-10-21 13:27:39

<a href=https://www.elefans.com/category/jswz/34/1770014.html style=iOS学习"/>

iOS学习

UIPickerView默认有一层灰色背景,并且系统不直接提供修改的方法,我们需要手动获取次到那个view图层,并对其进行更改。下面简单来阐述,在代理中实现

- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view

1、取到选中行背景的图层,修改颜色

获取到middleContainerView,并修改其颜色

- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view{[self customSelectedRow];//设置文字的属性UILabel *bedTypeLabel = [UILabel new];bedTypeLabel.textAlignment = NSTextAlignmentCenter;bedTypeLabel.text = self.bedTypeArray[row];bedTypeLabel.font = [UIFont systemFontOfSize:20];bedTypeLabel.textColor = [UIColor blackColor];return bedTypeLabel;
}//取到选中行背景的图层,修改颜色
- (void)customSelectedRow {NSArray *subviews = self.pickerVIew.subviews;if (!(subviews.count > 0)) {return;}NSArray *coloms = subviews.firstObject;if (coloms) {NSArray *subviewCache = [coloms valueForKey:@"subviewCache"];if (subviewCache.count > 0) {UIView *middleContainerView = [subviewCache.firstObject valueForKey:@"middleContainerView"];if (middleContainerView) {middleContainerView.backgroundColor = [UIColor whiteColor];}}}
}

2、去除默认的灰色背景

修改pickerView.subviews[1].backgroundColor的颜色,让灰色背景色消失

- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view{[self customSelectedRow];//设置文字的属性UILabel *bedTypeLabel = [UILabel new];bedTypeLabel.textAlignment = NSTextAlignmentCenter;bedTypeLabel.text = self.bedTypeArray[row];bedTypeLabel.font = [UIFont systemFontOfSize:20];bedTypeLabel.textColor = [UIColor blackColor];if (self.subviews.count > 0) {pickerView.subviews[1].backgroundColor = [UIColor clearColor];// 去除原本的灰色背景}return bedTypeLabel;
}

更多推荐

iOS学习

本文发布于:2024-02-26 11:28:15,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1702315.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:iOS

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!