2014-06-05 24 views
6

Ich möchte ein neues Fenster programmgesteuert erstellen. Ich habe den folgenden Code, und es baut, aber mein Fenster wird nicht angezeigt. Die einzige Möglichkeit, es sichtbar zu machen, besteht darin, es als untergeordnetes Fenster zum Standardfenster hinzuzufügen. Wie kann ich 'gewinnen' zu einem unabhängigen Fenster machen?Erstellen Sie ein neues Fenster mit NSWindow

@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) 
} 

Antwort

2

Sie müssen auch ein NSWindowController das Fenster anzuzeigen:

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

controller.showWindow(self) 
5

Was über das Hinzufügen von:

win.makeKeyAndOrderFront(win) 

Für mich auf OSX (nicht iOS) mit Swift und Schreiben in vim

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

win.makeKeyAndOrderFront(win) 

erscheint aw Indow

Verwandte Themen