NSButton 不允许我设置 imagePosition 属性

NSButton won't let me set imagePosition property

我正在尝试在 swift 中构建一个菜单栏应用程序。我想为状态项设置图像和文本。显然 NSStatusItem 自 10.10 以来已弃用设置自定义视图,这很好,因为我能够在状态项的按钮上设置图像和文本。但是,由于某种原因我无法设置 imagePosition 属性,因此文本和图像重叠。

这是我的代码:

let statusItem = NSStatusBar.systemStatusBar().statusItemWithLength(-1)

  func applicationDidFinishLaunching(aNotification: NSNotification) {
    let icon = NSImage(named: "statusIcon")
    icon!.setTemplate(true) // best for dark mode

    statusItem.button!.image = icon
    statusItem.button!.imagePosition = ImageLeft
    statusItem.button!.title = "Hello, world"

    statusItem.menu = menu;
  }

问题是 Xcode 在这一行给我一个错误:

statusItem.button!.imagePosition = ImageLeft

它说 "Use of unresolved identifier 'ImageLeft'",但根据我从文档 (https://developer.apple.com/library/mac/documentation/Cocoa/Reference/ApplicationKit/Classes/NSCell_Class/index.html#//apple_ref/c/tdef/NSCellImagePosition) 中可以看出,这是我想要使用的标识符。

有人能帮忙吗?

我明白了。显然我还有很多东西要学习 Swift 语法。

这一行允许它工作:

statusItem.button!.imagePosition = NSCellImagePosition.ImageLeft