我正在使用第三方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。我怎样才能同时出示?
答案 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
}