为什么我选择它时无法删除索引为0的标签栏项目。如果我选择标签。条目项1它将删除项目0没有任何问题
override func tabBar(_ tabBar: UITabBar, didSelect item: UITabBarItem){
super.viewDidLoad()
ContainerVC.tabBarViewController?.viewControllers?.remove(at: 0)
}
答案 0 :(得分:0)
你可以尝试
let arr = ContainerVC.tabBarViewController?.viewControllers
let v1:UIViewController = arr [1]
let homePage = self.storyboard?.instantiateViewController(withIdentifier: "homePage")
ContainerVC.tabBarViewController?.viewControllers = [homePage,v1]
更新:删除
super.viewDidLoad()
调用函数,因为它可能会导致奇怪的结果,即使它不是声明的地方
答案 1 :(得分:0)
我相信这实际上会解决你的问题。当我决定以编程方式而不是故事板执行segue时,我一直在使用我的自定义控制器设置标签栏项目,我实际上已经有了实现这一目标的粗略经验。你需要做的是: 而不是
ContainerVC.tabBarViewController?.viewControllers?.remove(at: 0)
使用强>
self.viewControllers?.remove(at: 0)
我相信这会解决你的问题。