我有一个应用程序显示基于搜索的UIPickerView中的文本。我想突出显示字符串中由于通配符而出现的特定字母。如何更改UIPickerView行中各个字符的字体颜色?
例如,如果我搜索“CA?”,其中一行将显示“CAT”,我只希望字母“T”处于蓝色。
任何想法?用户在输入时会立即获得反馈,因此性能非常重要。
我有一个应用程序显示基于搜索的UIPickerView中的文本。我想突出显示字符串中由于通配符而出现的特定字母。如何更改UIPickerView行中各个字符的字体颜色?
例如,如果我搜索“CA?”,其中一行将显示“CAT”,我只希望字母“T”处于蓝色。
任何想法?用户在输入时会立即获得反馈,因此性能非常重要。
感谢大卫让我开始。
我结束了使用Three20库,并从返回一个pickerView TTStyledTextLabel:viewForRow:forComponent:reusingView:与文本属性设置为[TTStyledText textFromXHTML:myXHTML]用TTDefaultStyleSheet一起定义颜色的跨度。在UIPickerView组件中工作得很好,看起来非常快。
要创建具有不同字符的不同字体属性的字符串,通常会使用NSAttributedString
。然而,UIPickerView
似乎并不直接支持使用NSAttributedString
作为您的选取器组件的标签,UILabel
似乎也不支持它们。您可能必须创建一个自定义UIView
子类,并在您的UIPickerViewDelegate
中将其从pickerView:viewForRow:forComponent:reusingView:
返回。