为什么我的UIlabel显示省略号点(点点点)?

时间:2017-09-21 06:49:22

标签: swift

我正在尝试打印包含UILabel当前时间的文本字符串。

var currentDateTime = Date()

let dateFormatter = DateFormatter()
dateFormatter.timeStyle = .medium

var savedNumberPlusDate = "\(counterValue) : \(dateFormatter.string(from: currentDateTime))"
saveLabel.text = savedNumberPlusDate

第一部分效果很好,但时间以省略号或点点(......)点出现

enter image description here

无法弄清楚我做错了什么。

3 个答案:

答案 0 :(得分:2)

这是因为标签尺寸 - 并非所有内容都适合它的界限,所以休息时间会减少。 UILabel属性 - Line Break定义了如何处理扩展内容。但您可能正在寻找的解决方案是调整它的大小。你可以通过autolayout约束来做到这一点。

答案 1 :(得分:0)

当我以编程方式设置UILabel.text时,如果该字符串的长度大于我在情节提要中设置的文本的长度,那么我将得到“ ...”截断。

我没有猜测要设置为标签宽度的正确点数,而是将情节提要中的文本设置为将以编程方式设置的值的模板。在您的情况下,我可以将情节提要中的UILabel文本设置为“ 9:99:99:99 XM”。

答案 2 :(得分:-2)

我找到了答案。故事板上的我的UILabel太窄了,所以它缩短了时间,所以添加......

简单的解决方法是将标签拖得更大。

更好的解决方法是使用AutoLayout,这样就不会再发生了。例如,在这个SO答案中:[How to created an expandable label in Swift][1]

修正了它。 enter image description here