2016-06-13 5 views
3

XLpagerTabStrip cocoapods拡張機能を使用して、ビューコントローラ(https://github.com/xmartlabs/XLPagerTabStrip)の上部にタブバーを設定しています。私はButtonBarPagerTabStripViewControllerを実装していますが、ステップを正確に実行していますが、UIScrollViewは子ビューコントローラを表示していません。Swift:XLPagerTabStripをプログラムで使用するのではなく、ストーリーボードを使用して子ビューコントローラを表示する方法

これは、例では子ビューコントローラがストーリーボードではなくプログラムで設定されているのに対し、私の場合は現在ストーリーボードに設定されているためコンテンツが表示されないためですストーリーボードを介して子ビューコントローラをButtonBarControllerに接続することができます。

ストーリーボードを使用して子ビューコントローラを表示する方法はありますか、それともプログラムで行う必要がありますか?

GitHubのページには、以下の機能を実装するために言います(しかし、このdoesntのはあなたの子ビューコントローラはストーリーボードを経由して設定されている場合は機能しているように見える):

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

識別子を使用してストーリーボードからコントローラを取得し、それをプログラムで追加するだけです。 – tbilopavlovic

+0

私は現在、以下を持っています:オーバーライドpublic function viewControllersForPagerTabStrip(pagerTabStripController:PagerTabStripViewController) - > [UIViewController] { return [MyChildViewController()、MySecondChildViewController()]。しかし、これはストーリーボードを介してビューコントローラを設定した場合にはうまくいかないようです –

+0

質問を編集してそのクラスのコードを貼り付けてください – tbilopavlovic

答えて

5

あなたはstorybardからコントローラをロードする必要があります。

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

このコードをButtonBarControllerに追加するだけですか? –

+0

ストーリーボードに移動し、子ビューコントローラーに識別子を追加して、ストーリーボードからそれらをロードします。識別子は一意でなければなりません – tbilopavlovic

関連する問題