Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/43.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 如何更改UIPickerView行中单个字符的字体颜色?_Iphone_Objective C_Xcode_Interface Builder_Uipickerview - Fatal编程技术网

Iphone 如何更改UIPickerView行中单个字符的字体颜色?

Iphone 如何更改UIPickerView行中单个字符的字体颜色?,iphone,objective-c,xcode,interface-builder,uipickerview,Iphone,Objective C,Xcode,Interface Builder,Uipickerview,我有一个应用程序,它根据搜索结果在UIPickerView中显示文本。我想突出显示字符串中由于通配符而出现的特定字母 例如,如果我搜索“CA?”,其中一行将显示“CAT”,我只希望字母“T”为蓝色 有什么想法吗?用户在键入时会得到即时反馈,因此性能非常重要。要创建一个对不同字符具有不同字体属性的字符串,您通常会使用NSAttributedString。但是,UIPickerView似乎不直接支持使用NSAttributedStrings作为选择器组件的标签,也不支持它们。您可能需要创建一个自定义

我有一个应用程序,它根据搜索结果在UIPickerView中显示文本。我想突出显示字符串中由于通配符而出现的特定字母

例如,如果我搜索“CA?”,其中一行将显示“CAT”,我只希望字母“T”为蓝色


有什么想法吗?用户在键入时会得到即时反馈,因此性能非常重要。

要创建一个对不同字符具有不同字体属性的字符串,您通常会使用
NSAttributedString
。但是,
UIPickerView
似乎不直接支持使用
NSAttributedString
s作为选择器组件的标签,也不支持它们。您可能需要创建一个自定义的
UIView
子类,并从
uipickerview:viewForRow:forComponent:reusingView:
中返回它,这要感谢David提供的入门提示

最后,我使用Three20库,从pickerView:viewForRow:forComponent:reusingView:返回一个TTStyledTextLabel,文本属性设置为[TTStyledText-textFromXHTML:myXHTML],并返回一个TTDefaultStyleSheet来定义彩色跨距。在UIPickerView组件中工作得很好,速度似乎很快