使用NSWindow创建一个新窗口

时间:2014-06-05 19:35:19

标签: swift

我想以编程方式创建一个新窗口。我有以下代码,它构建,但我的窗口没有显示。我可以看到它的唯一方法是将它作为子窗口添加到默认的“窗口”。如何让“胜利”成为一个独立的窗口?

@IBOutlet var window: NSWindow

func applicationDidFinishLaunching(aNotification: NSNotification?) {

    var win = NSWindow(contentRect: NSMakeRect(100, 100, 600, 200),
                       styleMask: NSResizableWindowMask,
                       backing: NSBackingStoreType.Buffered, defer: true)

    window.addChildWindow(win, ordered:NSWindowOrderingMode.Above)
}

2 个答案:

答案 0 :(得分:6)

添加如何:

win.makeKeyAndOrderFront(win)

对于我在OSX(不是iOS)上使用Swift并在vim中编写

let win = NSWindow(contentRect: NSMakeRect(100, 100, 600, 200),
                           styleMask: NSResizableWindowMask,
                           backing: NSBackingStoreType.buffered, defer: true)

win.makeKeyAndOrderFront(win)

弹出一个窗口

答案 1 :(得分:3)

您还需要NSWindowController来显示窗口:

let window = NSWindow(...)
let controller = NSWindowController(window: window)

controller.showWindow(self)