【发布时间】:2019-05-02 19:53:04
【问题描述】:
而不是使用 NSFont 面板
为我的文本视图选择一种字体。我正在尝试构建一组自定义弹出按钮来选择字体系列,然后选择字体子类型。
我的问题是,当我有一个带有一些文本的 NSTextView 时,我可以右键单击文本以打开字体面板,并且对面板的更改会自动应用于 textView。如何通过我的自定义实现实现这种行为?我相信我已经尝试过使用 NSFontManager.shared 进行一些摆弄
NSFontManager.shared.setSelectedFont(font, isMultiple: false)
textView.changeFont(NSFontManager.shared)
我通过将选定的字体和大小应用到 textView textStorage 的 NSAttributedString 来解决问题,但这感觉像是一个 hack。
【问题讨论】:
-
将 changeFont: 发送到您的 textview - 这是正确的。 NSFontManager.shared.setSelectedFont 也是正确的。这两行有什么问题吗?您可以通过使用断点命令 (lldb) br set -n "changeFont:" 在尝试使用 fontpanel 更改字体并命中断点后看到这一点