ios - 查找适合特定区域的 UILabel 的子字符串

标签 ios swift uitableview autolayout uilabel

对于具有特定宽度、特定字体和字体大小的 UILabel,我想计算其中包含 7 行文本的字符数 + ...(三个点显示连续)。有没有更奇特的方法来实现这一目标?目前我正在尝试计算最多 X 个字符或 7 个换行字符,以先到者为准,然后我就在那里剪切文本。

更多细节: 尝试制作一个包含 UILabel 的可扩展行单元格,我通过自动布局来实现这一点...因此,为了控制单元格扩展,我将文本更改为全文或其子字符串,下面有一个按钮可以切换字符串与子字符串之间。所有这些都在发挥作用。我遇到的问题是我查找子字符串的方法不是很简洁。它处理不同字符组合或换行符的文本的方式不一致。我得到了它的外观的变化,有时它只是以新行上的三个点结束,而不是在第七行结束。

最佳答案

即使使用自动布局,您仍然可以使用 UILabellines 属性来限制标签​​显示的行数。

因此将其设置为 7,您将获得 7 或更少的行。只需分配完整的文本即可。

关于ios - 查找适合特定区域的 UILabel 的子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46888447/

相关文章:

class - 字典应该在 Swift 中转换为类还是结构?

ios - 如何在打开和关闭 UIswitch 时上下移动标签?

swift - UITableView 复选框(按下另一个按钮时选择一个按钮)

ios - UITableViewCell 图像行为问题

iOS显示pdf的部分下载,仅第一页

ios - 如何注册通知类别?

ios - MMdrawercontroller:打开左侧菜单时点击centerVC

ios - 带搜索栏跳转的导航 Controller

ios - 如何保存 Swift 字典结构?

iphone - IOS:带有自定义 uitableviewcell 的动态高度