使用 NSFontManager 获取用户选择的 NSFont - 无法覆盖 changefont 功能
Get user selected NSFont using NSFontManager - Unable to override changefont function
我正在尝试允许用户使用 NSFontManager select 选择 his/her 的字体。我可以使用以下代码显示字体选择器
@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
}
要求列表:
- 它是
changeFont
而不是 changefont
。
NSObject.changeFont(_:)
已弃用,请改用 NSFontChanging.changeFont(_:)
。
- 视图控制器必须采用
NSFontChanging
。
- 当第一响应者对象处理
changeFont(_:)
时,您的 changeFont(_:)
不会被调用。
class ViewController: NSViewController, NSFontChanging {
func changeFont(_ sender: NSFontManager?) {
guard let fontManager = sender else {
return
}
let newFont = fontManager.convert(self.globalfont)
self.globalfont = newFont
}
}
我正在尝试允许用户使用 NSFontManager select 选择 his/her 的字体。我可以使用以下代码显示字体选择器
@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
}
要求列表:
- 它是
changeFont
而不是changefont
。 NSObject.changeFont(_:)
已弃用,请改用NSFontChanging.changeFont(_:)
。- 视图控制器必须采用
NSFontChanging
。 - 当第一响应者对象处理
changeFont(_:)
时,您的changeFont(_:)
不会被调用。
class ViewController: NSViewController, NSFontChanging {
func changeFont(_ sender: NSFontManager?) {
guard let fontManager = sender else {
return
}
let newFont = fontManager.convert(self.globalfont)
self.globalfont = newFont
}
}