查找适合特定区域的 UILabel 的子字符串
Posted
技术标签:
【中文标题】查找适合特定区域的 UILabel 的子字符串【英文标题】:Find substring that would fit inside UILabel of certain area 【发布时间】:2017-10-23 11:40:18 【问题描述】:对于具有特定宽度、特定字体和字体大小的 UILabel,我想计算可以在其中生成 7 行文本的字符数量 + ...(三个点表示延续)。有没有更好的方法来实现这一目标?目前我正在尝试计算最多 X 个字符或 7 个换行符,以先到者为准,然后我就在那里剪切文本。
更多细节: 试图制作一个包含 UILabel 的可扩展行单元格,我正在通过自动布局来实现这一点......所以为了控制单元格扩展,我将文本更改为全文或子字符串,下面有一个按钮可以切换在字符串与子字符串之间。所有这些都在起作用。我遇到的问题是我找到子字符串的方法不是很整洁。它在如何处理不同字符组合或换行符的文本方面并不一致。我得到了它的外观变化,有时它只是在新行上以三个点结束,而不是在第 7 行结束。
【问题讨论】:
使用UILabel的lines属性怎么样?将其设置为 7,您将获得 7 行或更少的行数。 嗯,限制行会自动起作用而不是更改文本吗?让我快速尝试一下... 它工作了:D,在让它与自动布局一起工作之前,我非常有远见,我一直牢记将行设为 0 只会为此工作......谢谢@D .Mika 完美。我添加了一个答案,以便您可以将问题标记为已回答。 【参考方案1】:即使使用自动布局,您仍然可以使用UILabel
的lines
属性来限制标签显示的行数。
所以将其设置为 7,您将获得 7 行或更少的行。只需分配完整的文本。
【讨论】:
以上是关于查找适合特定区域的 UILabel 的子字符串的主要内容,如果未能解决你的问题,请参考以下文章