我是 OSX 编程新手,最近开始了 OS X 10.10 的演示项目。找到了这个 -> http://cocoatutorial.grapewave.com/tag/menulet/在 OSX 状态栏中添加菜单的好教程。问题是我的项目使用 swift 语言,方法和项目结构/文件有些不同。我想知道是否有人在 Yosemite 上成功尝试过此操作?谢谢。
编辑:具体问题是如何替换 awakefromnib 方法以使用当前的 AppDelegate.swift 语法?
最佳答案
整个事情是这样的......
class AppDelegate: NSObject, NSApplicationDelegate {
@IBOutlet var window: NSWindow // Remove this and delete window in IB to remove window
// ... also, remove MainMenu from IB.
@IBOutlet var statusMenu: NSMenu
var statusItem: NSStatusItem? = nil
func applicationDidFinishLaunching(aNotification: NSNotification?) {
// Insert code here to initialize your application
}
func applicationWillTerminate(aNotification: NSNotification?) {
// Insert code here to tear down your application
}
override func awakeFromNib() {
self.statusItem = NSStatusBar.systemStatusBar().statusItemWithLength(CGFloat(NSVariableStatusItemLength))
self.statusItem!.menu = self.statusMenu
self.statusItem!.title = "Status"
self.statusItem!.highlightMode = true
}
@IBAction func doSomethingWithMenuSelection(sender : AnyObject) {
println("Action pressed")
}
}
我刚刚从您的链接中复制了它,并翻译为 Swift。它仍然显示一个窗口等,删除这些应该很简单...更新显示了如何...
(当然我在 Yosemite 上运行它)
关于macos - OS X 10.10 Yosemite - 添加菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24294196/