Как изменить цвет шрифта отдельных символов в строке UIPickerView? - PullRequest
3 голосов
/ 07 августа 2010

У меня есть приложение, которое показывает текст в UIPickerView на основе поиска.Я хочу выделить определенные буквы в строке, которые появляются в результате подстановочного знака.

Например, если я искал «CA?», В одной из строк будет отображаться «CAT», итолько буква «Т» должна быть синего цвета.

Есть идеи?Пользователь получает немедленную обратную связь при наборе текста, поэтому производительность важна.

Ответы [ 2 ]

1 голос
/ 08 августа 2010

Спасибо Дэвиду за подсказку, с чего можно начать.

В итоге я использовал библиотеку Three20 и возвратил TTStyledTextLabel из pickerView: viewForRow: forComponent: reusingView: со свойством text, установленным в [TTStyledText textFromXHTTML:myXHTML] вместе с TTDefaultStyleSheet для определения цветных участков.Отлично работает и, кажется, очень быстро работает в компоненте UIPickerView.

1 голос
/ 07 августа 2010

Чтобы создать строку, которая имеет разные свойства шрифта для разных символов, вы обычно используете NSAttributedString. Тем не менее, UIPickerView, похоже, напрямую не поддерживает использование NSAttributedString s в качестве меток для компонентов сборщика, а UILabel, похоже, их не поддерживает. Возможно, вам придется создать собственный подкласс UIView и вернуть его из pickerView:viewForRow:forComponent:reusingView: в вашем UIPickerViewDelegate.

...