我想使用SF的等距数字字体通过如下更改其字体来在文本字段中显示整数:textField.font = UIFont.monospacedDigitSystemFontOfSize(textField.font!.pointSize, weight: UIFontWeightSemibold)
但是,如果我以60Hz的频率设置文本字段的文本,则结果如下:
对于相同数量的数字,文本的宽度显然不是恒定的,因此它动摇了所有的抖动,因为文本字段被约束为下面图像的“前导”和“尾随”。
为什么会这样,以及如何解决?
另一个真正的等宽字体,例如“Menlo”,其行为正确:
最佳答案
因此,似乎设置文本字段的“调整以适合”选项会覆盖字体的等宽属性(即使 View 足够大以包含文本!)
我目前的临时解决方案是
textField.adjustsFontSizeToFitWidth
设置为false
textField.adjustsFontSizeToFitWidth
设置为true
,以便在用户输入这不是我最初想要的,但可以解决
关于ios - UIFont.monospacedDigitSystemFontOfSize()不是真的等宽吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38148073/