2012-04-04 4 views
0

초기 텍스트가 "username.mysite.com"인 UITextField가 있습니다. 기본 색상 (검정)이 설정됩니다.UITextField 내부의 두 가지 색상

회색과 같은 다른 색상으로 '사용자 이름'을 갖고 싶습니다. 가능한가?

사용자는 "지우기 버튼"을 클릭 할 수 있으며 자리 표시자가 "url"입니다.

답변

2

UITextField로 직접 수행 할 수 없습니다. 기본 두 가지 옵션은 다음과 같습니다.

  1. 텍스트 필드로 위장한 UIWebView을 사용하십시오. 이것은 쉽지만 쇠망 치이며 특정 사용 사례에서 성능 저하를 초래할 수 있습니다.

  2. 올바르게 구성된 NSAttributedString을 표시하려면 Core Text을 사용하십시오. 링크는 Mac OS 용으로 보이지만 Core Text 역시 iOS에 있습니다. 프레임 워크는 매우 강력하지만 학습 곡선이 가파르고 편집 가능한 텍스트를 지원하지 않습니다. 그러나 시작에 도움이 될 수있는 다양한 오픈 소스 라이브러리가 있습니다 (예 : DTCoreText. OHAttributedLabel).

+0

감사합니다. 봐. –

0

아니요, 기본 설정에서는 불가능합니다.

0

다음 개인 속성에 액세스하여 자리 표시 자의 색을 변경할 수 있지만 경고를 표시하지만 잘 작동합니다.

[aTextField setValue:[UIColor yellowColor] 
      forKeyPath:@"_placeholderLabel.textColor"]; 

또 다른 방법으로이 작업을 수행하면 drawPlaceholderInRect 메서드를 사용자 지정 구현으로 재정의 할 수 있습니다.

+0

안녕하세요 RIP, 장소 텍스트가 아닌 속성 텍스트의 색상을 변경하고 싶습니다. 그리고 색상은 전체 텍스트가 아닌 "사용자 이름"부분에 대한 것입니다. –

+1

나는 그것이 직접적으로 가능하지 않다고 생각한다. 다음 스레드를 확인할 수있다. - http://stackoverflow.com/questions/2452356/is-it-possible-to-set-multiple-color-in-uilabel – rishi