如何在部分文本(如iPhone短信)下划线?

如何在部分文本(如iPhone短信)下划线?,iphone,nsstring,uilabel,Iphone,Nsstring,Uilabel,我使用UILabel以多行和UILineBreakModeWordWrap模式显示文本,最大宽度为200。 例如,以下是文本: I really really want to underline first word and second word, could you help me? 我真的很想在第一个单词和第二个单词下面画线,你能帮我吗? 我想在“第一个单词”和“第二个单词”下面划线 如果文本以单行模式显示,使用NSString的sizeWithFont方法,我可以轻松计算“第一个单词”的

我使用UILabel以多行和UILineBreakModeWordWrap模式显示文本,最大宽度为200。
例如,以下是文本:

I really really want to underline first word and second word, could you help me? 我真的很想在第一个单词和第二个单词下面画线,你能帮我吗? 我想在“第一个单词”和“第二个单词”下面划线

如果文本以单行模式显示,使用NSString的sizeWithFont方法,我可以轻松计算“第一个单词”的位置,然后覆盖-(void)drawTextInRect:(CGRect)rect来绘制线条


但在多行模式下,我不知道如何获得该职位。你有什么想法吗?

使用UIWebView显示文本。这就是苹果对富文本的建议。

关于iPhone上缺少NSAttributed字符串的讨论相当多,人们开始构建自己的文本布局系统来解决这个问题。这一领域正在进行一些项目。您可能想看看及其。

是的,UIWebView肯定可以解决我的问题,但仅仅显示一句话不会太重吗?我对UIWebView也有这种感觉。不过,这是苹果公司的建议。看我的第二个答案。好吧,那是很久以前的事了。我想我记得他们在WWDC说过这句话。无论如何,在2009年,没有其他内置控件能够进行富文本编辑。下面是一个WWDC 2011会议,Justin Garcia在会上解释了如何使用UIWebView在iOS上实现“桌面级”富文本编辑:TTStyledTextLabel正是我想要的。谢谢。