使用故事板时,如何向UITabbarController添加/删除或显示/隐藏选项卡栏项目

11
我有一个应用程序需要根据用户是否注册来显示不同的内容,其中使用了UITabBarController。在运行时是否有一种方法能够添加和删除ViewControllerUITabBarController中呢?也可以使用显示和隐藏的方式。
在使用storyboards之前,您可以调用setViewController,但在使用storyboards时似乎不是正确的方法。
3个回答

23
您可以按照以下方式删除选项卡项:
NSMutableArray *tabbarViewControllers = [NSMutableArray arrayWithArray: [self.tabBarController viewControllers]];
[tabbarViewControllers removeObjectAtIndex: /*Any index*/];
[self.tabBarController setViewControllers: tabbarViewControllers ];

1
如果tabbarViewControllers数组没有任何对象,则尝试执行以下操作。 NSMutableArray *tabbarViewControllers = [NSMutableArray arrayWithArray: [self.viewControllers]]; - Pramod Tapaniya

4

Swift 4+

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

这会重新加载其他视图控制器吗?我想保持其他视图控制器的状态不变。 - anoop4real

-5

在Storyboard中设计时,我们可以使用文件检查器中的选项底部栏为无来隐藏选项卡栏。

enter image description here


1
这会隐藏整个底部栏,而不是所请求的项目。 - JoeGalind

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接