首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用NSFont获得用户选择的NSFontManager --无法覆盖更改函数

使用NSFont获得用户选择的NSFontManager --无法覆盖更改函数
EN

Stack Overflow用户
提问于 2022-03-30 10:52:51
回答 1查看 74关注 0票数 0

我正在尝试允许用户使用NSFontManager选择他/她选择的字体。我可以使用以下代码显示字体选择器

代码语言:javascript
复制
@IBAction func fontchangeclicked(_ sender: Any) {
            NSFontManager.shared.orderFrontFontPanel(nil)
    
        }

但是NSViewController无法识别这个被覆盖的函数。

代码语言:javascript
复制
override func changefont(_ sender: Any?) {
        guard let fontManager = sender as? NSFontManager else {
                    return
                }
                let newFont = fontManager.convert(self.globalfont)
                self.globalfont = newFont
       
               }

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-01 11:46:30

所需经费清单:

不推荐使用changefont.

  • NSObject.changeFont(_:),而应该使用NSFontChanging.changeFont(_:)。当第一个响应对象处理changeFont(_:).

时,视图控制器必须采用NSFontChanging.

  • Your changeFont(_:)

代码语言:javascript
复制
class ViewController: NSViewController, NSFontChanging {

    func changeFont(_ sender: NSFontManager?) {
        guard let fontManager = sender else {
            return
        }
        let newFont = fontManager.convert(self.globalfont)
        self.globalfont = newFont
    }
               
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71675906

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档