swift - 更改为等宽数字字体后,Cocoa NSTextField 文本在 View 中被截断

标签 swift cocoa

当我将字体更改为 monospacedDigitSystemFont 时,NSTextField 内的文本被截断。

我在 viewDidLoad 方法中有以下代码。我不明白为什么它被切断,因为 sizeToFit 已被调用并且应该使用内在大小。

底部的标签看起来不错,并且使用默认的系统字体。

    labelTimeNow.sizeToFit()
    labelTimeNow.font = NSFont.monospacedDigitSystemFont(
        ofSize: labelTimeNow.font!.pointSize,
        weight: .medium
    )
    labelTimeNow.stringValue = DCClock.getCurrentTimeInFormat("HH:mm")

enter image description here

引用

最佳答案

愚蠢的我,我应该在更改字体间距后调用 sizeToFit

    labelTimeNow.font = NSFont.monospacedDigitSystemFont(
        ofSize: labelTimeNow.font!.pointSize,
        weight: .medium
    )
    labelTimeNow.stringValue = DCClock.getCurrentTimeInFormat("HH:mm")
    labelTimeNow.sizeToFit()

关于swift - 更改为等宽数字字体后,Cocoa NSTextField 文本在 View 中被截断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56990801/

相关文章:

objective-c - Cocoa 命令行工具方法声明

objective-c - 使用拖放重新排列时,小圆线条卡在 NSOutlineView 顶部

objective-c - 在 cocoa 中阅读后如何关闭文件

swift - 将项目作为字典值添加到数组

ios - 在 Firebase 中再次登录后删除子根节点? - swift

swift - NETunnelProvider 在 iOS 14 上停止接收数据包?

cocoa - NSTableView的viewForTableColumn :row: called for more rows than expected in Mavericks

ios - 为什么调用 NSFetchedResultsControllerDelegate 'changeObject'

ios - Swift 4.2 - Alamofire 突然不工作

cocoa - 我需要将 NSImage 中的一个颜色 channel 归零,正确的方法是什么?