我正在尝试在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
它说“使用未解析的标识符'ImageLeft'”,但是从我可以从文档(https://developer.apple.com/library/mac/documentation/Cocoa/Reference/ApplicationKit/Classes/NSCell_Class/index.html#//apple_ref/c/tdef/NSCellImagePosition)中可以看出,这是我想要使用的标识符。
有人可以帮忙吗?
答案 0 :(得分:4)
我明白了。显然我对Swift语法有很多了解。
此行允许它工作:
statusItem.button!.imagePosition = NSCellImagePosition.ImageLeft