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?

И я хочу подчеркнуть " первое слово "и" второе слово ".

Если текст показан в однострочном режиме с использованием метода sizeWithFont для NSString, я могу легко вычислить положение «первого слова», а затем переопределить - (void) drawTextInRect: (CGRect) rect, чтобы нарисовать линию ,

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

ответ

6

Существует довольно некоторое обсуждение пропущенных NSAttributedString на iPhone, и люди начинают создавать свои собственные системы компоновки текста, чтобы обойти это. В этой области есть несколько проектов. Вы можете посмотреть на Three20 project и его TTStyledTextLabel.

+0

TTStyledTextLabel - именно то, что я хотел. Большое спасибо. – Neng

5

Используйте UIWebView для отображения текста. Это то, что Apple рекомендует для богатого текста.

+0

Да, UIWebView может определенно решить мою проблему, но разве это не слишком тяжело, чтобы просто показать предложение? – Neng

+0

У меня тоже есть представление об UIWebView. Но, тем не менее, это то, что рекомендует Apple. См. Мой второй ответ. –

+0

Apple рекомендует? Можете ли вы показать цитату, пожалуйста? – 3lvis

Смежные вопросы