在UILabel

时间:2015-08-18 21:43:14

标签: objective-c nsstring uilabel

我在UILabel上显示多行NSAttributedString,我遇到了换行问题。当包装以加号('+')结尾的单词时,UILabel会在'+'符号前断开该行。

我尝试了每个lineBreakMode,但无论我做什么,如果该行的最后一个单词以'+'结尾,它将在它之前中断。

例如,使用文本“我的名字是弗雷德和C ++是我的语言”

UILabel将呈现如下两行:

"My name is Fred and C"
"++ is my language"

在这篇关于Apple文档(link)的文章中说:

  

文本系统根据Unicode标准附件#29以特定语言的方式确定字边界,并对该文档中描述的区域设置进行额外的自定义。在OS X上,Cocoa提供与单词边界相关的API,例如NSAttributedString方法doubleClickAtIndex:和nextWordFromIndex:forward:,但您无法修改单词边界算法本身的工作方式

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

if中的每个可见字符之间放置一个Unicode U + 2060 WORD JOINER。您可以在字符串文字中使用if object.hidden = YES for 5 seconds{ do these things } ,也可以使用Unicode Hex Input键盘将其键入为⌥2060