Iphone 如何更改UIPickerView行中单个字符的字体颜色?
我有一个应用程序,它根据搜索结果在UIPickerView中显示文本。我想突出显示字符串中由于通配符而出现的特定字母 例如,如果我搜索“CA?”,其中一行将显示“CAT”,我只希望字母“T”为蓝色Iphone 如何更改UIPickerView行中单个字符的字体颜色?,iphone,objective-c,xcode,interface-builder,uipickerview,Iphone,Objective C,Xcode,Interface Builder,Uipickerview,我有一个应用程序,它根据搜索结果在UIPickerView中显示文本。我想突出显示字符串中由于通配符而出现的特定字母 例如,如果我搜索“CA?”,其中一行将显示“CAT”,我只希望字母“T”为蓝色 有什么想法吗?用户在键入时会得到即时反馈,因此性能非常重要。要创建一个对不同字符具有不同字体属性的字符串,您通常会使用NSAttributedString。但是,UIPickerView似乎不直接支持使用NSAttributedStrings作为选择器组件的标签,也不支持它们。您可能需要创建一个自定义
有什么想法吗?用户在键入时会得到即时反馈,因此性能非常重要。要创建一个对不同字符具有不同字体属性的字符串,您通常会使用
NSAttributedString
。但是,UIPickerView
似乎不直接支持使用NSAttributedString
s作为选择器组件的标签,也不支持它们。您可能需要创建一个自定义的UIView
子类,并从uipickerview:viewForRow:forComponent:reusingView:
中返回它,这要感谢David提供的入门提示
最后,我使用Three20库,从pickerView:viewForRow:forComponent:reusingView:返回一个TTStyledTextLabel,文本属性设置为[TTStyledText-textFromXHTML:myXHTML],并返回一个TTDefaultStyleSheet来定义彩色跨距。在UIPickerView组件中工作得很好,速度似乎很快