【发布时间】:2020-05-08 00:51:32
【问题描述】:
我是 iOS/Swift 的新手。我的应用程序正在使用 json 数据,我必须使用 json 响应创建标签栏。我的意思是,我从 json 获得 Array of Title 并且我必须基于该数组创建标签栏项目。数组数据/计数可能会发生变化,应用程序应相应地显示标签栏。我正在尝试在没有情节提要的情况下以编程方式创建标签栏(因为这是巨大的标签栏)
到目前为止,我已经尝试了以下代码 -
func tabBarCustom() {
let tt = UITabBarController()
var array1 = [UIViewController]()
var controller1 = UIViewController()
for i in 0..<navgTitle.count {
controller1 = UIViewController(nibName: "WeatherViewController", bundle: nil)
controller1.title = navgTitle[i]
controller1.tabBarItem = UITabBarItem(title: navgTitle[i], image: .none, tag: 1)
array1.append(controller1)
}
print(array1)
tt.viewControllers = array1
self.view.addSubview(tt.view)
}
上面的代码失败了 - 无法在包中加载 NIB:'NSBundle' 名称为 'WeatherViewController' 我不确定如何使用标题数组自动创建多个视图控制器,将标题作为视图控制器的名称。这可能吗?以及如何在数组中循环为每个标签栏项创建视图控制器
请帮忙。谢谢
【问题讨论】:
标签: swift uiviewcontroller tabbar