问题描述
我在项目(macOS,Xcode 10,Cocoa,Swift)中有一个自定义的状态栏。
我想更改显示在状态中的字体和文本的颜色。
@NSApplicationMain
class AppDelegate: NSObject,NSApplicationDelegate {
@IBOutlet private weak var mainMenu: NSMenu!
@IBOutlet private weak var quitMenuItem: NSMenuItem!
.....code....
private let statusItem = NsstatusBar.system.statusItem(withLength: NsstatusItem.variableLength)
// MARK: NSApplicationDelegate
func applicationDidFinishLaunching(_ aNotification: Notification) {
.....code....
// Set the main menu
statusItem.menu = mainMenu
.....code....
}
解决方法
感谢瓦迪安,我在这里给出了答案。 (快速4) 希望对以后的读者有所帮助。
@NSApplicationMain
class AppDelegate: NSObject,NSApplicationDelegate {
@IBOutlet private weak var mainMenu: NSMenu!
@IBOutlet private weak var quitMenuItem: NSMenuItem!
.....code....
private let statusItem = NSStatusBar.system.statusItem(withLength: NSStatusItem.variableLength)
// MARK: NSApplicationDelegate
func applicationDidFinishLaunching(_ aNotification: Notification) {
.....code....
// Set the main menu
statusItem.menu = mainMenu
// change color
let myString = "My Button Title"
let myAttribute = [ NSAttributedString.Key.foregroundColor: NSColor.blue ]
let myAttrString = NSAttributedString(string: myString,attributes: myAttribute)
statusItem.button?.attributedTitle = myAttrString
}