0

我正在与第三方 lib 合作XLPagerTabBarStrip。它有代表

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

现在我正在尝试传递包含情节提要标识符名称的数组。我正在运行 for 循环以获取名称,然后将其传递给我的 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]
}

当我运行该应用程序时,它只显示带有标识符的 vc RegisterationVC。我怎样才能同时显示两者?

4

1 回答 1

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
}
于 2018-06-05T07:30:13.823 回答