我正在尝试在 macOS 系统托盘中写两行文本,就像 iStat pro 为网络活动所做的那样:
我知道我必须将 NSView 子类化才能这样做,但即使是一行我也无法让它工作:
class CustomView:NSView {
override func draw(_ dirtyRect: NSRect) {
let text: NSString = "my string"
let textRect: NSRect = NSMakeRect(0, 0, 100, 20)
text.draw(in: textRect)
}
}
接着:
let statusBar = NSStatusBar.system
statusItem = statusBar.statusItem(withLength: 100)
let view = CustomView()
view.wantsLayer = true
statusItem.button?.addSubview(view)
我在stackoverflow上找到了其他线程:
- 带有两行标题的 OS X 状态栏应用程序:它在目标 C 中,我也无法让它工作
- 如何在 mac os 的菜单栏应用程序中显示两行文本:不幸的是,解释对我来说不够详细