AppKit 中的固定间距数字

Posted

技术标签:

【中文标题】AppKit 中的固定间距数字【英文标题】:Fixed spacing numbers in AppKit 【发布时间】:2017-08-09 14:49:06 【问题描述】:

我有一个带计时器的应用。此计时器位于视图的中心。当 macOS 的默认字体是 Helvetica Neue 时,效果很好。似乎字体的数字间隔均匀,所以当计时器运行时,一切都保持原位。

现在使用 San Francisco 作为默认字体,这被打破了。 Ever number 似乎有不同的宽度,导致计时器在运行时不断变化。将字体硬编码到 Helvetica Neue 可以解决问题,但我想使用操作系统默认的字体。

是否可以使用 NSTextField 设置某种提示,以像以前一样呈现具有固定宽度数字的默认系统字体?我似乎记得这是可用的,但我找不到它。我不想使用固定宽度的字体,因为它破坏了美感。似乎 ios 上的秒表应用正在以某种方式做到这一点。

【问题讨论】:

【参考方案1】:

使用NSFont这个类方法

斯威夫特

class func monospacedDigitSystemFont(ofSize fontSize: CGFloat, weight: CGFloat) -> NSFont

目标-C

+ (NSFont *)monospacedDigitSystemFontOfSize:(CGFloat)fontSize weight:(CGFloat)weight;

可用的 macOS 10.11+

【讨论】:

是的!这正是我一直在寻找的。谢谢!

以上是关于AppKit 中的固定间距数字的主要内容,如果未能解决你的问题,请参考以下文章

powerbuilder中如何将图片中的数字提取出来(如图片中有1234,如何获取1234),请给个详细的代码。。。谢谢

如何从oracle中的字符串中获取固定长度的数字

每1000个数字之间的String.Format C#间距[重复]

一些固定数字的排列

span中内容随着数字长度的添加而增大

Intl.NumberFormat 返回数字和货币符号通过间距划分的结果