将 Array 传递给 XLPagerTabBar 委托函数以打开 VC
Pass Array to the XLPagerTabBar delegate function to open VC
我正在使用第三方库 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]
}
当我 运行 应用程序时,它只显示 vc 和标识符 RegisterationVC
。如何同时显示两者?
您的 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
}
我正在使用第三方库 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]
}
当我 运行 应用程序时,它只显示 vc 和标识符 RegisterationVC
。如何同时显示两者?
您的 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
}