2016-05-04 10 views
1

Ich benutze Storyboards und swift. Jetzt versuche ich ein neues NSWindow zu öffnen, das in eine XIB-Datei gepackt ist. (Ich habe eine neue XIB-Datei erstellt, die ein NSWindow enthält)Öffne NSWindow von xib, während ich Storyboards und Swift verwende

Ich habe den folgenden Code zu meinem Projekt hinzugefügt, aber es öffnet kein Fenster.

let controller = NSWindowController(windowNibName: "xibFile") 
controller.showWindow(self) 

Ich bin sicher, dass ich etwas falsch als

tue
print(controller.window?.title) 

auch gibt mir nicht den richtigen Fenstertitel aus der xib Datei.

Hoffe jemand kann einen Hinweis geben, was ich falsch mache. Vielen Dank!

+0

Hat Ihr xib Fenster benutzerdefinierte Klasse oder nur NSWindowController hat? Wo hast du 'controller.showWindow (self)' ausgelöst? Ist das in AppDelegate? – Jacky

Antwort

2

In Ihrer zweiten Feder:

class SecondNibController: NSWindowController { 
    override var windowNibName: String? { 
     return "SecondNib" // no extension .xib here 
    } 
} 

Denken Sie daran, den window Ausgang SecondNibConntroller zu Ihrem Fenster zu verbinden.

In Ihrem Hauptstoryboard:

class ViewController: NSViewController { 
    let secondNibController = SecondNibController() 

    @IBAction func openSecondWindow(sender : AnyObject) { 
     secondNibController.showWindow(nil) 
    } 
} 
Verwandte Themen