【发布时间】:2017-04-12 20:52:26
【问题描述】:
Given 是一个 (html) 字符串,其中包含 x 个字符。字符串将被格式化为属性字符串。然后显示在UILabel。
UILabel 的高度为 >= 25 和 <= 50,以将行数限制为 2。
由于字符串具有在格式化的属性字符串中不可见的字符,例如<b> / <i>,因此最好的方法是限制属性字符串的字符数。
UILabel 属性 .lineBreakMode = .byTruncatingTail 导致单词被剪切。
目标,如果字符数超过UILabel 中的空间限制,则在单词之间切换。需要maxCharacterCount = 50。确定maxCharacterCount 之前的最后一个space。剪切字符串并将... 添加为UILabel 的最后一个字符。
限制字符的最佳方法是什么?非常感谢您的帮助。
【问题讨论】:
-
您自己尝试过什么吗?或者也许我没有正确理解这个问题。如果您限制标签的大小,则字符串将自动截断。
-
让
UILabel在标签上设置lineBreakMode属性来处理它。请参阅UILabel documentation中的“自定义标签外观” -
@LinusG。我当然知道,但重点是,例如字符串有 200 个字符,将其剪切为 47 并附加 3x
.,但也许lineBreakMode会这样做.. 立即签出 -
但是如果标签会自动为您添加三个点,为什么还要手动添加呢?或者您是否需要点不仅在视觉上而且实际上是字符串的一部分?
-
查看我的编辑。首先,我并不真正了解自动可能性,但删减词并不完全是我想要的。我想让它在单词之间切割。所以在所需字符数之前的最后一个
"space"替换为3x...