在我的 UILabel(4 行)的子部分(2 行)上应用 lineBreakMode

Posted

技术标签:

【中文标题】在我的 UILabel(4 行)的子部分(2 行)上应用 lineBreakMode【英文标题】:Apply lineBreakMode on a sub portion (2 lines) of my UILabel (4 lines) 【发布时间】:2013-10-01 15:17:18 【问题描述】:

简而言之:如何在 UILabel(比如 4 行)的子部分(比如 2 行)上应用 lineBreakMode。

长篇大论:

Click here to see a screenshot of the App Store in ios7.

我有一个 4 行的 UILabel(红色)。我假设这是屏幕截图上的 UILabel,因为它们在每个 UITableViewCells 中都垂直居中。

此 UILabel 由一个子字符串组成,该子字符串最多被截断为 2 行(蓝色)。

在这个问题上花了一整天,我什至没有找到解决方案的开始。如果有人可以帮忙...

这是另一个例子。这是一个 UILabel:

+------------------------------------------+
|                                          |
|Lorem ipsum dolor sit amet, consectetuer  |
|adipiscing elit, sed diam nonummy nibh    |
|euismod tincidunt ut laoreet dolore magna |
|aliquam erat volutpat.                    |
|Line 2                                    |
|Line 3                                    |
|                                          |
+------------------------------------------|

我希望它以这种形式显示(第一句被截断为两行):

+------------------------------------------+
|                                          |
|                                          |
|Lorem ipsum dolor sit amet, consectetuer  |
|adipiscing elit, sed diam nonummy nibh... |
|Line 2                                    |
|Line 3                                    |
|                                          |
|                                          |
+------------------------------------------|

【问题讨论】:

解决方案How do I truncate a string within a string in a UILabel? 不适用于多行UILabel。 【参考方案1】:

您需要创建自己的 UITableViewCell,向其中添加您想要的视图,并将其添加到表格中。检查这个:

Customizing UITableViewCells

正如您所说,您要实现的目标似乎相当复杂,至少如果没有 CoreText 是不可能的(并且不确定是否可能)。

基本上,在配置 UILabel 时,您可以选择两个属性 lineBreakMode,它告诉您如何截断行和行数,但对于整个标签。

【讨论】:

谢谢。可能是我不够清楚。我知道如何使用 UITableView,问题是:如何在 3 行的单个 UILabel 中仅正确截断前 2 行。我开始认为如果没有“高级”使用 CoreText 是不可能的。

以上是关于在我的 UILabel(4 行)的子部分(2 行)上应用 lineBreakMode的主要内容,如果未能解决你的问题,请参考以下文章

UILabel 自动收缩并在必要时使用 2 行

当UITableViewCell被点击时,UILabel未按预期更新的行数

UILabel:2行文字缩小

如何布局可以有无限行数的UILabel

iOS:UILabel 之后的 UIImageView 与多行

如何在R中旋转包含带有部分和子部分的列的数据框