2009-06-08 2 views
3

UILabel을 사용하여 여러 줄짜리 및 UILineBreakModeWordWrap 모드에서 최대 너비는 200입니다.
예를 들어, 여기에 텍스트가 있습니다.iPhone SMS와 같은 텍스트의 일부분을 어떻게 밑줄 수 있습니까?

I really really want to underline first word and second word, could you help me?

그리고 첫 번째 줄에 밑줄을 긋기를 원합니다. 단어 "와"두 번째 단어 ".

텍스트가 NSString의 sizeWithFont 메소드를 사용하여 단일 행 모드로 표시되는 경우 "첫 단어"의 위치를 ​​계산 한 다음 간단하게 재정의 할 수 있습니다. - (void) drawTextInRect : (CGRect) rect .

그러나 다중 회선 모드에서는 위치를 얻는 방법을 모르겠습니다. 너는 어떤 생각을 가지고 있니?

답변

6

iPhone에서 NSAttributedString이 누락되었다는 것에 대한 토론이 있으며 사람들은이 문제를 해결하기 위해 자체 텍스트 레이아웃 시스템을 만들기 시작합니다. 이 분야에서 진행되는 프로젝트가 있습니다. Three20 projectTTStyledTextLabel을 살펴볼 수 있습니다.

+0

TTStyledTextLabel은 내가 원했던 것입니다. 고마워요. – Neng

5

텍스트를 표시하려면 UIWebView를 사용하십시오. 그것이 Apple이 리치 텍스트 (rich text)를 위해 권장하는 것입니다.

+0

예, UIWebView는 확실히 내 문제를 해결할 수 있지만 문장을 보여주기에는 너무 무겁지 않습니까? – Neng

+0

UIWebView에 대한 느낌도 있습니다. 그럼에도 불구하고 애플이 권장하는 바입니다. 내 두 번째 대답을 참조하십시오. –

+0

애플이 좋습니다? 견적을 보여 주시겠습니까? – 3lvis

관련 문제