2014-06-05 8 views
6

Vorrei creare una nuova finestra a livello di programmazione. Ho il seguente codice, e costruisce, ma la mia finestra non viene visualizzata. L'unico modo per renderlo visibile è aggiungerlo come finestra secondaria alla "finestra" predefinita. Come posso fare "vincere" essere una finestra indipendente?Crea una nuova finestra con 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) 
} 

risposta

2

È inoltre necessario un NSWindowController per visualizzare la finestra:

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

controller.showWindow(self) 
5

Che dire aggiungendo:

win.makeKeyAndOrderFront(win) 

per me su OSX (non iOS) utilizzando Swift e la scrittura in vim

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

win.makeKeyAndOrderFront(win) 

pops up aw indow