对于某个用例,是否可以在整个应用程序的标签栏上隐藏或禁用标签栏项?
示例:当用户登录并且他们没有“经理”角色时,最后一个标签栏项将在整个应用程序中隐藏 . 当他们再次作为管理员登录时,最后一个标签栏将被启用而不是隐藏 .
如果你在UITabBarController的源文件中,只需在viewDidLoad方法中添加以下代码即可禁用最后一项
下面的代码假设您在标签栏中有UITabBarItem项 . 否则你知道它是什么类型的项目,所以你可以相应地投射
if let items = tabBar.items as? [UITabBarItem] { if items.count > 0 { let itemToDisable = items[items.count - 1] itemToDisable.enabled = false } }
更好的代码(在Swift 4中):
tabBar.items?.forEach { $0.isEnabled = false }
2 回答
如果你在UITabBarController的源文件中,只需在viewDidLoad方法中添加以下代码即可禁用最后一项
下面的代码假设您在标签栏中有UITabBarItem项 . 否则你知道它是什么类型的项目,所以你可以相应地投射
更好的代码(在Swift 4中):