2016-06-13 13 views
3

Ich habe die XLpagerTabStrip Cocoapods Erweiterung verfolgt, um eine Tab-Leiste an der Spitze meines View-Controllers (https://github.com/xmartlabs/XLPagerTabStrip) einzurichten. Ich implementiere den ButtonBarPagerTabStripViewController und habe die Schritte genau befolgt, aber UIScrollView zeigt die Kind-View-Controller nicht an.Swift: Wie zeige ich Kinder View Controller über Storyboard statt programmgesteuert mit XLPagerTabStrip

Ich denke, das ist, weil in dem Beispiel die Kind-View-Controller programmgesteuert und nicht im Storyboard eingerichtet sind, während meine derzeit im Storyboard eingerichtet sind und daher keinen Inhalt anzeigen, aber es gibt keine Möglichkeit, dass ich können sehen, um die Child-View-Controller über das Storyboard mit dem ButtonBarController zu verbinden.

Gibt es eine Möglichkeit, die untergeordneten Ansichts-Controller mithilfe des Storyboards anzuzeigen, oder muss dies programmgesteuert erfolgen?

Die GitHub Seite sagt die folgende Funktion zu implementieren (Aber das scheint nicht, wenn Ihr Kind Ansicht-Controller über das Storyboard eingestellt aufzuarbeiten):

override public func viewControllersForPagerTabStrip(pagerTabStripController: PagerTabStripViewController) -> [UIViewController] 
{ 
    return [MyChildViewController(), MySecondChildViewController()] 
} 
+0

Holen Sie sich einfach Controller von Storyboards, die Kennungen verwenden, und fügen Sie sie dann programmgesteuert hinzu. – tbilopavlovic

+0

Ich habe derzeit die: override öffentliche Funktion viewControllersForPagerTabStrip (pagerTabStripController: PagerTabStripViewController) -> [UIViewController] { Rückgabe [MyChildViewController(), MySecondChildViewController()]. Aber das scheint nicht zu funktionieren, wenn Sie die View-Controller über das Storyboard –

+0

eingerichtet haben Bitte bearbeiten Sie die Frage und Code aus dieser Klasse einfügen – tbilopavlovic

Antwort

5

Sie benötigen Controller von storybard zu laden:

override public func viewControllersForPagerTabStrip(pagerTabStripController: PagerTabStripViewController) -> [UIViewController] 
{ 
    let storyboard = UIStoryboard(name: "Main", bundle: nil) 
    let childOneVC = storyboard.instantiateViewControllerWithIdentifier("childOneVC") 
    let childTwoVC = storyboard.instantiateViewControllerWithIdentifier("childTwoVC") 
    return [childOneVC, childTwoVC] 
} 
+0

Also füge ich einfach diese Codezeile zum ButtonBarController? –

+0

Gehen Sie zum Storyboard, fügen Sie den untergeordneten Ansichtscontrollern Bezeichner hinzu und laden Sie sie anschließend vom Storyboard. Die Bezeichner müssen eindeutig sein – tbilopavlovic