我正在尝试允许用户使用NSFontManager选择他/她选择的字体。我可以使用以下代码显示字体选择器
@IBAction func fontchangeclicked(_ sender: Any) {
NSFontManager.shared.orderFrontFontPanel(nil)
}但是NSViewController无法识别这个被覆盖的函数。
override func changefont(_ sender: Any?) {
guard let fontManager = sender as? NSFontManager else {
return
}
let newFont = fontManager.convert(self.globalfont)
self.globalfont = newFont
}

发布于 2022-04-01 11:46:30
所需经费清单:
不推荐使用changefont.
NSObject.changeFont(_:),而应该使用NSFontChanging.changeFont(_:)。当第一个响应对象处理changeFont(_:).
时,视图控制器必须采用NSFontChanging.
changeFont(_:)。class ViewController: NSViewController, NSFontChanging {
func changeFont(_ sender: NSFontManager?) {
guard let fontManager = sender else {
return
}
let newFont = fontManager.convert(self.globalfont)
self.globalfont = newFont
}
}https://stackoverflow.com/questions/71675906
复制相似问题