UIPickerView 怎么去更改选中 item 的字体颜色,在线等。。求助

2014-12-30 10:56:30 +08:00
 wisdominessence

试了一下不行
这个也不行

能否在 didSelectRow 中修改 选中 item 的字体颜色。

8966 次点击
所在节点    macOS
4 条回复
icestraw
2014-12-30 11:40:52 +08:00
新建一个 property rowA来保存当前选定的行号,一个property listArray用来保存每一行的View, property array保存数据
然后另外实现这两个方法

- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view
{
UILabel *lbl = [UILabel new];
NSMutableAttributedString *aStr = [[NSMutableAttributedString alloc] initWithString:[_array objectAtIndex:row]];
NSRange range = NSRangeFromString([_array objectAtIndex:row]);
[aStr addAttribute:(NSString *)kCTForegroundColorAttributeName value:(id)[UIColor redColor].CGColor range:range];
lbl.attributedText = aStr;
if (row == _rowA) {
lbl.textColor = [UIColor redColor];
}
[_listArray addObject:lbl];
return lbl;
}


- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
_rowA = row;
[_testPicker reloadAllComponents];
}
希望有所帮助
icestraw
2014-12-30 11:41:56 +08:00
@icestraw Oh,在这里Attributed String可以不用>_<
wisdominessence
2014-12-30 13:49:13 +08:00
@icestraw 能加我QQ 嘛,我把代码发你看看 叁9柒壹45215, 可以有偿咨询。
smartv
2014-12-30 15:54:37 +08:00
@icestraw 已解决。感谢回答

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/157831

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX