2010-08-07 65 views
3

我有一个应用程序显示基于搜索的UIPickerView中的文本。我想突出显示字符串中由于通配符而出现的特定字母。如何更改UIPickerView行中各个字符的字体颜色?

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

任何想法?用户在输入时会立即获得反馈,因此性能非常重要。

回答

1

感谢大卫让我开始。

我结束了使用Three20库,并从返回一个pickerView TTStyledTextLabel:viewForRow:forComponent:reusingView:与文本属性设置为[TTStyledText textFromXHTML:myXHTML]用TTDefaultStyleSheet一起定义颜色的跨度。在UIPickerView组件中工作得很好,看起来非常快。

1

要创建具有不同字符的不同字体属性的字符串,通常会使用NSAttributedString。然而,UIPickerView似乎并不直接支持使用NSAttributedString作为您的选取器组件的标签,UILabel似乎也不支持它们。您可能必须创建一个自定义UIView子类,并在您的UIPickerViewDelegate中将其从pickerView:viewForRow:forComponent:reusingView:返回。