使用NSWindow创建一个新窗口

Geu*_*uis 7 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)
}
Run Code Online (Sandbox Code Playgroud)

小智 6

添加如何:

win.makeKeyAndOrderFront(win)
Run Code Online (Sandbox Code Playgroud)

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

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

win.makeKeyAndOrderFront(win)
Run Code Online (Sandbox Code Playgroud)

弹出一个窗口


Eri*_*rik 3

您还需要一个NSWindowController来显示窗口:

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

controller.showWindow(self)
Run Code Online (Sandbox Code Playgroud)