使用.lineBreakMode = .byTruncatingMiddle将文本溢出TableView单元格中的UILabel容器

时间:2017-04-20 00:21:09

标签: ios swift string

我的单元格中有一个UILabel,它从我的模型中的文本中被填满

text.lineBreakMode = .byTruncatingMiddle

如果文本比我的UILabel中的文本长,则文本将继续显示,直到它离开我的单元格一侧。

enter image description here

正如您所看到的那样,K正在被单元格的右端切断,并且字符串中还有5个字符。

我想要发生的是字符串是" 123456789101112"因为字符串要缩短到足以容纳在我的UILabel中,而不是从标签的右侧溢出,看起来像" 1234 ... 1112"。

编辑:尝试添加一些约束,仍然存在相同的问题。

enter image description here

我试图用这些限制来说明的是要有一个恒定的宽度并将它固定在两侧,这样就没有溢出的可能性,但即使是那些它已经拥有同样的问题。

我有一个集合视图,并为该单元格添加了相同的约束,并且它工作得很好。是不是因为它是一个tableview单元而需要做一些不同的事情呢?

1 个答案:

答案 0 :(得分:1)

标签本身很可能会从屏幕右侧溢出。你需要给它约束,这样无论屏幕大小如何,整个标签都会留在屏幕上。

在此示例中,标签包含您的" 123456789101112"字符串:

enter image description here