2010-08-07 4 views
3

검색을 기반으로 UIPickerView에 텍스트를 표시하는 앱이 있습니다. 와일드 카드 문자로 인해 문자열에있는 특정 문자를 강조하고 싶습니다.UIPickerView 행에서 개별 문자의 글꼴 색을 변경하는 방법은 무엇입니까?

예를 들어 "CA?"를 검색하면 행 중 하나에 "CAT"이 표시되고 문자 "T"만 파란색으로 표시됩니다.

아이디어가 있으십니까? 그가 입력 할 때 사용자는 즉각적인 피드백을 얻으므로 성능이 중요합니다.

답변

1

데비드에게 팁을 주신 덕분에 저를 시작하실 수 있습니다. viewForRow : forComponent : reusingView :

은 내가 Three20 라이브러리를 사용하고 pickerView에서 TTStyledTextLabel를 반환 결국 설정 텍스트 속성 [TTStyledText textFromXHTML : myXHTML]는 TTDefaultStyleSheet와 함께 컬러 스팬을 정의 할 수 있습니다. 훌륭한 작품 UIPickerView 구성 요소에서 매우 빠른 것 같습니다.

1

다른 문자의 글꼴 속성이 다른 문자열을 만들려면 일반적으로 NSAttributedString을 사용합니다. 그러나 UIPickerView은 선택 도구 구성 요소의 레이블로 NSAttributedString을 사용하는 것을 직접 지원하지 않으며, UILabel이이를 지원하는 것 같지 않습니다. 맞춤 UIView 하위 클래스를 만들어 UIPickerViewDelegate에있는 pickerView:viewForRow:forComponent:reusingView:에서 반환해야 할 수 있습니다.

관련 문제