Cocoa NSTextField 文本在更改为等宽数字字体后在视图中被截断
Cocoa NSTextField text get cut off in view after changed to monospaced digital font
当我将字体更改为 monospacedDigitSystemFont
时,NSTextField
中的文本被截断了。
我在 viewDidLoad
方法中有以下代码。我不明白为什么它已经被切断,因为sizeToFit
已经被调用并且应该使用固有大小。
底部的标签看起来不错,使用的是默认系统字体。
labelTimeNow.sizeToFit()
labelTimeNow.font = NSFont.monospacedDigitSystemFont(
ofSize: labelTimeNow.font!.pointSize,
weight: .medium
)
labelTimeNow.stringValue = DCClock.getCurrentTimeInFormat("HH:mm")
参考
- How can I set NSTableView column to use monospaced numbers?
笨蛋,我应该在更改字体间距后调用sizeToFit
。
labelTimeNow.font = NSFont.monospacedDigitSystemFont(
ofSize: labelTimeNow.font!.pointSize,
weight: .medium
)
labelTimeNow.stringValue = DCClock.getCurrentTimeInFormat("HH:mm")
labelTimeNow.sizeToFit()
当我将字体更改为 monospacedDigitSystemFont
时,NSTextField
中的文本被截断了。
我在 viewDidLoad
方法中有以下代码。我不明白为什么它已经被切断,因为sizeToFit
已经被调用并且应该使用固有大小。
底部的标签看起来不错,使用的是默认系统字体。
labelTimeNow.sizeToFit()
labelTimeNow.font = NSFont.monospacedDigitSystemFont(
ofSize: labelTimeNow.font!.pointSize,
weight: .medium
)
labelTimeNow.stringValue = DCClock.getCurrentTimeInFormat("HH:mm")
参考
- How can I set NSTableView column to use monospaced numbers?
笨蛋,我应该在更改字体间距后调用sizeToFit
。
labelTimeNow.font = NSFont.monospacedDigitSystemFont(
ofSize: labelTimeNow.font!.pointSize,
weight: .medium
)
labelTimeNow.stringValue = DCClock.getCurrentTimeInFormat("HH:mm")
labelTimeNow.sizeToFit()