如何隐藏 UITabbarIcon?

Posted

技术标签:

【中文标题】如何隐藏 UITabbarIcon?【英文标题】:How can I hide a UITabbarIcon? 【发布时间】:2019-05-30 09:26:29 【问题描述】:

我目前正在开发一个 ios 应用程序,它将有 5 个标签栏图标。其中之一应该只有在您被允许看到时才可见。 如何隐藏此图标?

【问题讨论】:

您可以在运行时添加/删除 tabBarItems 来实现这一点。 self.tabBarController?.tabBar.hidden = true/false @BhavikModi 我该怎么做? @YogeshPatel 这隐藏了完整的标签栏而不是特定的图标。 好的,试试这个方法 tabBarController.viewControllers?.remove(at:0) 【参考方案1】:

如果要从tabBar 中删除UIViewController,请在UITabBarControllerClass 中添加这行代码

移除

self.viewControllers?.remove(at: tabIndex) // replace the tabIndex which you want to remove

添加

self.viewControllers?.insert(viewController, at: tabIndex) // replace the viewcontroller with your controller and tabIndex with your index

【讨论】:

我是在带有self.tabBarController?.viewControllers? 的 ViewController 中完成的,而不是在 UITabBarControllerClass 中。这也确实有效。【参考方案2】:

使用以下代码,您可以从标签栏中删除指定的标签:

let tabIndex = 3
if let tabBarController = self.tabBarController 
    if tabIndex < tabBarController.viewControllers?.count 
        var allViewControllers = tabBarController.viewControllers
        allViewControllers?.remove(at: tabIndex)
        tabBarController.viewControllers = allViewControllers
    

【讨论】:

以上是关于如何隐藏 UITabbarIcon?的主要内容,如果未能解决你的问题,请参考以下文章

由于 UIButton segue,如何切换 UITabBars?

如何更改标准 UITabBarItem 上的文本“更多”

点击 tabBarItem 以呈现视图控制器

UIView 子视图不会改变方向

在两个 UIViewController 堆栈之间转换

setTintColor 和 setSelectedImageTintColor 不能一起正常工作