Swift: UIScrollView не отображает контроллер дочернего представления с использованием XLPagerTabStrip

Я следил за расширением Cocopods XLpagerTabStrip, чтобы настроить панель вкладок в верхней части моего контроллера представления (https://github.com/xmartlabs/XLPagerTabStrip). Я реализую ButtonBarPagerTabStripViewController и точно выполняю шаги, но UIScrollView не отображает дочерние контроллеры представления.

код в контроллере представления с вкладками:

import UIKit
import XLPagerTabStrip

class MenuTabStrip: ButtonBarPagerTabStripViewController {

override func viewDidLoad() {

    self.settings.style.selectedBarHeight = 5.0
    self.settings.style.selectedBarBackgroundColor = UIColor.blueColor()


    super.viewDidLoad()

    // Do any additional setup after loading the view.
}
override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}

override func viewControllersForPagerTabStrip(pagerTabStripController: PagerTabStripViewController) -> [UIViewController]{

    return [Reminders(), testbobViewController()]
}

пример кода в дочерних контроллерах представления:

import UIKit
import XLPagerTabStrip

class testbobViewController: UIViewController, IndicatorInfoProvider {

    override func viewDidLoad() {
        super.viewDidLoad()

        // Do any additional setup after loading the view.
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }


func indicatorInfoForPagerTabStrip(pagerTabStripController: PagerTabStripViewController) -> IndicatorInfo {
    return IndicatorInfo(title: "test bob")
}

Изображение, показывающее соединения ButtonBarView и UIScrollView


person Ryan Hampton    schedule 12.06.2016    source источник


Ответы (1)


Вы должны использовать раскадровку!.instantiateViewControllerWithIdentifier в

    override func viewControllersForPagerTabStrip(pagerTabStripController: PagerTabStripViewController) -> [UIViewController]{

}

вместо прямой инициализации ViewController, если вы используете раскадровку и IB

person Edison Lo    schedule 19.08.2016