UIPickerView自定义选中的字体颜色、字号、字体

更新时间:2023-05-11 16:51:20 阅读: 评论:0

UIPickerView⾃定义选中的字体颜⾊、字号、字体
UIPickerView⾃定义选中的字体颜⾊、字号、字体
在使⽤UIPickerView显⽰时间,城市等的选择时,系统定义的样式总是与⾃⼰的页⾯不搭配需要进⾏精加⼯,就给⼤家介绍⼀下怎样⾃定义UIPickerView选中的字体颜⾊、字号、字体等属性
⾃定义UIPickerView选中的字体颜⾊、字号、字体等属性时需要定义
- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(nullable UIView *)view __TVOS_PROHIBITED;⽅法在此⽅法中 根据需要 重写下⾯的两个⽅法
//重写 - (nullable NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent: (NSInteger)component __TVOS_PROHIBITED; ⽅法加载title
/*重写- (nullable NSAttributedString *)pickerView:(UIPickerView *)pickerView attributedTitleForRow:(NSInteger)row forComponent:(NSInteger)component NS_AVAILABLE_IOS(6_0) __TVOS_PROHIBITED; ⽅法加载 attributedText*/
具体看实例:(实例以加载三级城市选择为例)
- (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 = [UIColor grayColor];
}
}
/*重新定义row 的UILabel*/
UILabel *pickerLabel = (UILabel*)view;
if (!pickerLabel){
pickerLabel = [[UILabel alloc] init];
// Setup label properties - frame, font, colors etc
//adjustsFontSizeToFitWidth property to YES
[pickerLabel tTextColor:[UIColor darkGrayColor]];
pickerLabel.adjustsFontSizeToFitWidth = YES;
[pickerLabel tTextAlignment:NSTextAlignmentCenter];
[pickerLabel tBackgroundColor:[UIColor clearColor]];
[pickerLabel tFont:[UIFont systemFontOfSize:16.0f]];
// [pickerLabel tFont:[UIFont boldSystemFontOfSize:16.0f]];
}
/
/ Fill the label text here
//重写 - (nullable NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
__TVOS_PROHIBITED; ⽅法加载title
// = [lf pickerView:pickerView titleForRow:row forComponent:component];
if(component == 0){
if(row == _firstIndex){
/*选中后的row的字体颜⾊*/
/*重写- (nullable NSAttributedString *)pickerView:(UIPickerView *)pickerView attributedTitleForRow:(NSInteger)row forComponent: (NSInteger)component NS_AVAILABLE_IOS(6_0) __TVOS_PROHIBITED; ⽅法加载 attributedText*/
pickerLabel.attributedText
pickerLabel.attributedText
= [lf pickerView:pickerView attributedTitleForRow:_firstIndex forComponent:component];
}el{
< = [lf pickerView:pickerView titleForRow:row forComponent:component];
}
}el if (component == 1){
if(row == _condIndex){
pickerLabel.attributedText
= [lf pickerView:pickerView attributedTitleForRow:_condIndex forComponent:component];
}el{
< = [lf pickerView:pickerView titleForRow:row forComponent:component];
}
}el if (component == 2){
if(row == _thirdIndex){
pickerLabel.attributedText
= [lf pickerView:pickerView attributedTitleForRow:_thirdIndex forComponent:component];
}el{
< = [lf pickerView:pickerView titleForRow:row forComponent:component];
}
}
return pickerLabel;
}
-
(NSAttributedString *)pickerView:(UIPickerView *)pickerView attributedTitleForRow:(NSInteger)row forComponent:(NSInteger)component{    NSString *titleString;
if (component == 0) {
CityModel *md = _dataSource[row];
titleString = md.region_name;
}
el if (component == 1){
CityModel *md = _dataSource[_firstIndex];
_shiArr = md.regionlist;
CityModel *shi = _shiArr[row];
titleString = ion_name;
}
el if (component == 2){
CityModel *md = _shiArr[_condIndex];
_quArr = md.regionlist;
CityModel *qu = _quArr[row];
titleString = qu.region_name;
}
NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc]initWithString:titleString];
NSRange range = [titleString rangeOfString:titleString];
NSRange range = [titleString rangeOfString:titleString];
[attributedString addAttribute:NSForegroundColorAttributeName value:navBGColor range:range];
return attributedString;
}
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component{ if (component == 0) {
CityModel *md = _dataSource[row];
ion_name;
}
el if (component == 1){
CityModel *md = _dataSource[_firstIndex];
_shiArr = md.regionlist;
CityModel *shi = _shiArr[row];
ion_name;
}
el if (component == 2){
CityModel *md = _shiArr[_condIndex];
_quArr = md.regionlist;
CityModel *qu = _quArr[row];
ion_name;
}
return nil;
}
效果如下图:

本文发布于:2023-05-11 16:51:20,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/90/104734.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:字体   定义   需要   城市
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图