如何在swift中隐藏/禁用标签栏项目

Posted

技术标签:

【中文标题】如何在swift中隐藏/禁用标签栏项目【英文标题】:How to hide / disable tab bar item in swift 【发布时间】:2016-09-12 21:52:16 【问题描述】:

我的应用中有一个五个选项卡、选项卡栏控制器,如果经理(而不是员工)登录到应用程序,我只想显示第 5 个项目。

我目前有这段代码禁用了第 5 项,但我仍然可以看到它(它只是变灰并且不可点击)。

self.tabBarController!.tabBar.items![4].enabled = false

如果非管理员登录,有没有办法只显示前四个项目并均匀间隔它们?

【问题讨论】:

您是否尝试过删除索引 4 处的项目? 谢谢利奥!我能够找到他们删除它的示例。我的一半问题是找到要搜索的正确单词。我一直在搜索“隐藏”和“禁用”,但正确的词是“删除”。 【参考方案1】:

斯威夫特 3

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

【讨论】:

以上是关于如何在swift中隐藏/禁用标签栏项目的主要内容,如果未能解决你的问题,请参考以下文章

当用户直接点击标签栏项目时,如何禁用滑动动画?

在 Swift 3 中单击标签栏项目时从底部打开弹出窗口?

如何在标签栏控制器中隐藏一个标签?

如何在swift ios中刷新标签栏项目

如何在 iOS 的标签栏中禁用蓝色突出显示?

导航时隐藏自定义中间按钮 swift 4