【发布时间】:2015-08-26 18:37:04
【问题描述】:
我正在尝试快速构建一个菜单栏应用程序。我想为状态项设置图像和文本。显然 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
它说“使用未解析的标识符 'ImageLeft'”,但从文档 (https://developer.apple.com/library/mac/documentation/Cocoa/Reference/ApplicationKit/Classes/NSCell_Class/index.html#//apple_ref/c/tdef/NSCellImagePosition) 中可以看出,这是我想要使用的标识符。
谁能帮忙?
【问题讨论】:
-
当你改用
2的 int 时会发生什么? -
它给出了一个不同的错误“无法将'Int'类型的值分配给'NSCellImagePosition'类型的值”
-
是的,这是正确的信息......看起来你已经找到了答案:)