我需要有一个UiLabel显示两个整数“分钟:秒”,而不会随着数字的变化左右移动

时间:2016-02-11 22:05:11

标签: swift

我创建了一个倒数计时器“Minutes:Seconds”逻辑工作但我有一个显示问题。随着数字的变化,uilabel文字的左右移动变得非常轻微。有任何想法吗?

这是我当前更改标签的方式

let strMinutes = String(format:" %02d",minutes)
let strseconds = String(format:"%02d",displayseconds)

displayTimeLabel.text = "\(strMinutes):\(strseconds) "

3 个答案:

答案 0 :(得分:3)

要防止数字移位,请使用单倍数字的字体,例如 Courier New Bold Helvetica Neue Verdana American Typewriter Chalkboard SE Copperplate Gill Sans Marker Felt ,或者 Trebuchet MS

您可以在属性检查器中为标签

设置此项

enter image description here

我建议您设置对齐以使文字居中。

您可以在一行中执行代码:

displayTimeLabel.text = String(format: " %02d:%02d ", minutes, displayseconds)

答案 1 :(得分:0)

我认为一个选项是选择Mono间距字体。为此,您可以选择标签并打开“实用工具”面板。然后显示“属性检查器”,最后显示“字体”。在那里,您可以选择“Fonte:Custom”并选择等宽字体,如Courier New Bold和Helvetica Neue

答案 2 :(得分:0)

将文本对齐方式更改为居中,并将标签的宽度设置为在两侧都有足够的填充,以便在内容更改时其宽度不会更改。这样你可以使用任何字体,不必是等宽字体。