2016-03-24 5 views
0

gut i Benachrichtigung Schaltfläche erstellen möchten, wenn der Benutzer klicken, um es für ihn Viewcontroller oder etwas, wie ich kann Viewcontroller laden statt xib Datei

ich diese Bibliothek

https://github.com/lucaslt89/PopupContainer zeigen

das Hauptproblem gefunden dass Sie von Xib-Datei-Nib-Datei und nur UIView

implementieren können, ist es möglich, von Controller von Main Storyboard zu laden?

Dies ist der Code

@IBAction func showFromXibButtonPressed(sender: AnyObject) { 
    let xibView = NSBundle.mainBundle().loadNibNamed("XibPopup", owner: nil, options: nil)[0] as! XibPopup 
    PopupContainer.generatePopupWithView(xibView).show() 
} 

Antwort

2

Sie, dass, indem man den Blick auf die Viewcontroller tun können, die Sie aus dem Storyboard zu bekommen.

Beispiel

@IBAction func showFromXibButtonPressed(sender: AnyObject) { 
    let storyboard = UIStoryboard(name: "StoryboardName", bundle: nil) 
    let vc = storyboard.instantiateViewControllerWithIdentifier("myViewController") as! UIViewController 
    PopupContainer.generatePopupWithView(vc.view).show() 
} 

Bitte weisen Sie die gleiche in dem Code mit dem richtigen storybaord Namen

den Code gemäß Frage Anforderung eines geeigneten Viewcontroller Identifier im Storyboard und aktualisiert Aktualisiert durch

Hunter Format Überprüfung
+0

Sie wissen etwas, Sie sind coooool! danke: $ –

1

Angenommen, Ihr Storyboard hat den Namen "Main" und Sie verfügen über einen ersten View-Controller. Dadurch wird die Ansicht von diesem Controller geladen:

@IBAction func showFromXibButtonPressed(sender: AnyObject) { 
    let controller = UIStoryboard(name: "Main", bundle: nil).instantiateInitialViewController() 
    PopupContainer.generatePopupWithView(controller!.view).show() 
} 

Hinweis, es wäre die beste Vorgehensweise, den Namen der IBAction in showFromViewControllerButtonPressed zu ändern, aber der obige Name funktioniert.

+0

Kein Problem Homie –

Verwandte Themen