【发布时间】:2015-08-24 22:58:03
【问题描述】:
我是 OS X 应用程序开发的新手,从状态栏菜单打开新窗口时遇到了一些问题。
我阅读了几个教程并尝试遵循它们。由于它们不完全适合我的项目,所以我做了一些修改,但似乎不起作用。
我创建了一个新的 NSWindowController 子类来设计一些 UI。但是当我点击菜单时,没有出现任何窗口。
//AppDelegate.Swift
import Cocoa
@NSApplicationMain
class AppDelegate: NSObject, NSApplicationDelegate {
let statusItem = NSStatusBar.systemStatusBar().statusItemWithLength(-2)
@IBOutlet weak var window: NSWindow!
func applicationDidFinishLaunching(aNotification: NSNotification) {
// Insert code here to initialize your application
if let button = statusItem.button {
button.image = NSImage(named: "StatusBarButtonImage")
}
let menu = NSMenu()
menu.addItem(NSMenuItem(title: "About MyProgram", action: Selector("getAbout:"),keyEquivalent: ""))
statusItem.menu = menu
}
// open "About MyProgram" window
func getAbout(sender: AnyObject) {
let controller = AboutWindowController()
controller.showWindow(self)
}
func applicationWillTerminate(aNotification: NSNotification) {
// Insert code here to tear down your application
}
}
我不知道在新类中要写什么,所以我保留它是默认创建的。
//AboutWindowController.swift
import Cocoa
class AboutWindowController: NSWindowController {
override func windowDidLoad() {
super.windowDidLoad()
// Implement this method to handle any initialization after your window controller's window has been loaded from its nib file.
}
}
任何帮助表示赞赏!谢谢!
【问题讨论】: