AppKit 中的固定间距数字
Fixed spacing numbers in AppKit
我有一个带计时器的应用程序。该计时器位于视图的中央。当 macOS 的默认字体是 Helvetica Neue 时,这工作正常。字体的数字似乎是均匀分布的,所以当计时器为 运行 时,一切都保持原样。
现在使用 San Francisco 作为默认字体,这已被破坏。每个数字似乎都有不同的宽度,导致计时器在 运行 期间不断变化。将字体硬编码为 Helvetica Neue 可解决此问题,但我想使用 OS.
的默认字体
我可以使用 NSTextField 设置某种提示,它会像以前一样呈现具有固定宽度数字的默认系统字体吗?我似乎记得这个可用,但我找不到它。我不想使用固定宽度的字体,因为它破坏了美感。 iOS 上的秒表应用程序似乎以某种方式在执行此操作。
使用NSFont
的这个class方法
Swift
class func monospacedDigitSystemFont(ofSize fontSize: CGFloat, weight: CGFloat) -> NSFont
Objective-C
+ (NSFont *)monospacedDigitSystemFontOfSize:(CGFloat)fontSize weight:(CGFloat)weight;
可用 macOS 10.11+
我有一个带计时器的应用程序。该计时器位于视图的中央。当 macOS 的默认字体是 Helvetica Neue 时,这工作正常。字体的数字似乎是均匀分布的,所以当计时器为 运行 时,一切都保持原样。
现在使用 San Francisco 作为默认字体,这已被破坏。每个数字似乎都有不同的宽度,导致计时器在 运行 期间不断变化。将字体硬编码为 Helvetica Neue 可解决此问题,但我想使用 OS.
的默认字体我可以使用 NSTextField 设置某种提示,它会像以前一样呈现具有固定宽度数字的默认系统字体吗?我似乎记得这个可用,但我找不到它。我不想使用固定宽度的字体,因为它破坏了美感。 iOS 上的秒表应用程序似乎以某种方式在执行此操作。
使用NSFont
Swift
class func monospacedDigitSystemFont(ofSize fontSize: CGFloat, weight: CGFloat) -> NSFont
Objective-C
+ (NSFont *)monospacedDigitSystemFontOfSize:(CGFloat)fontSize weight:(CGFloat)weight;
可用 macOS 10.11+