我是iOS / Swift的新手。我的应用程序使用的是json数据,我必须使用json响应创建标签栏。我的意思是,我从json获取标题数组,并且我必须基于该数组创建选项卡栏项。阵列数据/计数可能会更改,应用程序应相应显示标签栏。我正在尝试以编程方式创建没有情节提要的标签栏(因为这是巨大的标签栏)
到目前为止,我已经尝试了以下代码-
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)
}
上面的代码没有说-无法将名称为“ WeatherViewController”的捆绑包“ NSBundle”加载到NIB中我不确定如何使用title数组(以title作为视图控制器的名称)自动创建多个视图控制器。这可能吗?以及如何在数组中循环以为每个选项卡栏项创建视图控制器
请帮助。谢谢
您在使用笔尖吗?如果是这样,您的项目将找不到nib文件,您应该检查以下内容:Could not load NIB in bundle: 'NSBundle'。还是您正在使用Storyboard?如果您试图从情节提要中进行初始化,则将执行以下操作:
let vc = sb.instantiateViewController(withIdentifier: "WeatherViewController")
((请确保将WeatherViewController添加为视图控制器的标识符)。
或者您正在使用代码吗?如果您尝试通过代码创建视图控制器,则只需执行WeatherViewController()。
关于选项卡栏,您的方向正确,只是创建视图控制器失败。