【发布时间】:2015-03-17 21:04:01
【问题描述】:
我想以编程方式创建一个新的 NSWindow,但是 我找不到成功的方法。 这个简单的代码不会显示新窗口。它有什么问题?
@NSApplicationMain
class AppDelegate: NSObject, NSApplicationDelegate {
@IBOutlet weak var window: NSWindow!
func applicationDidFinishLaunching(aNotification: NSNotification) {
let win = NSWindow(contentRect: NSMakeRect(100, 100, 600, 200),
styleMask: NSResizableWindowMask,
backing: NSBackingStoreType.Buffered, defer: true)
let controller = NSWindowController(window: win)
controller.showWindow(self)
win.makeKeyAndOrderFront(win)
}
}
【问题讨论】:
-
"我的代码有什么问题?"一件事显然是错误的,那就是所有变量都是本地的。因此,当函数结束时,您的窗口控制器和您的窗口都会消失。它们是纯粹的临时对象。
-
我希望有一些适当的文档。找不到。
标签: swift xcode macos swift3 nswindow