我有一个UILabel,应该是两行长。文本被本地化为法语和英语。
我正在设置标签的attributedText属性,文本由三个附加字符串构成,比如textFragment1、textFragment2和textFragment3,中间的字符串实际上是用NSTextAttachment创建的图像。
我想确保textFragment2和textFragment3在同一行上。第一个字符串可能换行,也可能不换行,这取决于它的长度。问题是我的法语文本目前相当短,所以该行在textFragment2之后换行。
我在textFragment1的本地化法语文本中添加了一个换行符,暂时解决了这个问题。不过我并不喜欢这个解决方案。我想知道是否有一种方法可以处理textFragment2和textFragment3,使它们总是在同一行上。
1条答案
按热度按时间83qze16e1#
您可以使用不换行的空格(
\u00A0
)连接textFragment 2和textFragment 3。此字符看起来就像普通空格-即,它会产生相同数量的空格-但不会在其两侧换行。也可以使用零宽度空格(
\u2060
)。使用此字符不会产生任何空格,但它仍然会阻止两边的换行符,如果你不想在textFragment 2和textFragment 3之间有任何空格,但你仍然想阻止这里的换行符,这就是你想要的。(如果单词中间有连字符,但又不想在连字符后断行,则此功能也很有用。)您可以阅读更多关于这类字符on Wikipedia的信息。