将Array传递给XLPagerTabBar委托函数以打开VC

时间:2018-06-05 07:21:10

标签: ios swift xlpagertabstrip

我正在使用第三方lib XLPagerTabBarStrip。它有代表

override func viewControllers(for pagerTabStripController: PagerTabStripViewController) -> [UIViewController]

现在我正在尝试传递包含故事板标识符名称的数组。我正在运行循环以获取名称,而不是将其传递给我的return语句。当我运行应用程序时,它只显示数组的最后一项。如何将所有数组项传递给return语句?我的代码就是这个,

var child1 = UIViewController()

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

    let viewController = ["LoggedInVC","RegisterationVC"]

    for items in viewController{
        child1 = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: items)

    }
    return [child1]
}

当我运行应用程序时,它只显示标识符为RegisterationVC的vc。我怎样才能同时出示?

1 个答案:

答案 0 :(得分:3)

您的var child1类型为UIViewController,并且每次执行循环时都会覆盖此变量。

您需要的是UIViewController

数组

试试这个:

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

    var childs = Array<UIViewController>()

    let viewControllers = ["LoggedInVC","RegisterationVC"]

    for item in viewControllers {
        childs.append(UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: item))
    }

    return childs
}