在我的 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的主要内容,如果未能解决你的问题,请参考以下文章
当UITableViewCell被点击时,UILabel未按预期更新的行数