我在名为 StatusMenuController 的类中创建一个 NSStatusItem,如下所示
class StatusMenuController: NSObject {
let statusItem = NSStatusBar.system().statusItem(withLength: NSVariableStatusItemLength)
override func awakeFromNib() {
let icon = NSImage(named: "MenuBar")
icon?.isTemplate = true // best for dark mode
if let button = statusItem.button {
button.image = icon
button.action = #selector(StatusMenuController.showPomoNow)
button.sendAction(on: [.leftMouseUp, .rightMouseUp])
button.target = self
}
statusItem.title = "25:00"
}
我可以在这个类上轻松更改标题。它会像我预期的那样改变。
我在AppDelegate中引用了这个类
let statusMenu = StatusMenuController()
在其他类中添加更改
statusMenu.statusItem.title = "24:31"
我预计文本 25:00 将更改为“24:31”,但它看起来像这样。 screenshot
系统创建另一个 NSStatusItem。如何更改在 StatusMenuController 中创建的菜单。
最佳答案
COOPer的评论是正确的。我找到了一个从 Storyboard创建另一个 StatusMenu Controller 的对象。我删除了该对象,然后一切正常。
关于swift - 如何在类外更改 NSStatusItem,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45653330/