Ios 使用故事板时,从UITabbarController添加/删除或显示/隐藏选项卡栏项

Ios 使用故事板时,从UITabbarController添加/删除或显示/隐藏选项卡栏项,ios,xcode,uitabbarcontroller,Ios,Xcode,Uitabbarcontroller,我有一个应用程序,它需要根据用户是否注册显示与uitabarcontroller不同的内容。是否有一种方法可以在运行时从UITabBarController添加和删除ViewController?展示和隐藏也可以 在使用故事板之前,您可以调用setViewController,但在使用故事板时,这似乎不是正确的方法。您可以按如下方式删除选项卡项: NSMutableArray *tabbarViewControllers = [NSMutableArray arrayWithArray: [se

我有一个应用程序,它需要根据用户是否注册显示与
uitabarcontroller
不同的内容。是否有一种方法可以在运行时从
UITabBarController
添加和删除
ViewController
?展示和隐藏也可以


在使用故事板之前,您可以调用
setViewController
,但在使用故事板时,这似乎不是正确的方法。

您可以按如下方式删除选项卡项:

NSMutableArray *tabbarViewControllers = [NSMutableArray arrayWithArray: [self.tabBarController viewControllers]];
[tabbarViewControllers removeObjectAtIndex: /*Any index*/];
[self.tabBarController setViewControllers: tabbarViewControllers ];

在序列图像板中设计时,我们可以在文件检查器中使用选项底部栏作为“无”隐藏选项卡栏


Swift 4+

func removeTab(at index: Int) {
        guard var viewControllers = self.tabBarController?.viewControllers else { return }
        viewControllers.remove(at: index)
        self.tabBarController?.viewControllers = viewControllers
    }

如果tabbarViewControllers数组有0个对象,请尝试。NSMutableArray*tabbarViewControllers=[NSMutableArray arrayWithArray:[self.viewControllers]];这将隐藏整个底部栏,而不是请求的项这将重新加载其他视图控制器。。。我想保持其他风投的状态这对我很有帮助,谢谢@Maverick