故事板中的NSStatusBar项目(OSX)

时间:2015-10-23 19:38:10

标签: xcode macos swift xcode7 statusbar

是否可以从Storyboard中为桌面应用添加NSStatusBar项?我在网上看到的大多数例子都在AppDelegate中做了所有事情,但我不认为这对于更复杂的应用程序来说是个好主意。

1 个答案:

答案 0 :(得分:5)

不,您无法在故事板中有效添加NSStatusItem。它没有出口,故事板编辑器也不知道它的任何属性。

如果要从状态栏项目中挂起菜单,可以(从Xcode 7开始)在故事板中创建菜单。将NSMenu拖到应用程序场景中:

create menu

将菜单连接到应用代表中的插座:

connect menu to outlet

最后,使用从故事板加载的菜单在代码中创建状态项:

func applicationDidFinishLaunching(aNotification: NSNotification) {
    initStatusItem()
}

private var statusItem: NSStatusItem?

private func initStatusItem() {
    self.statusItem = NSStatusBar.systemStatusBar().statusItemWithLength(NSVariableStatusItemLength)
    statusItem?.title = "Test Item"
    statusItem?.menu = self.statusItemMenu
}