我的标签栏中的app委托中有一个白色的条形色调,但我需要在其中一个选定的索引上清楚。我将以下代码添加到需要清除的视图控制器中,但它保持清晰。我如何拥有它,这只适用于一个标签。
let tabBar = self.tabBarController?.tabBar
tabBar?.barTintColor = UIColor.clear
tabBar?.backgroundImage = UIImage()
tabBar?.shadowImage = UIImage()
答案 0 :(得分:1)
如果你有UITabBarControllerDelegate,你可以使用
func tabBarController(_ tabBarController: UITabBarController,
didSelect viewController: UIViewController) {
guard let index = self.viewControllers?.index(where: { $0 == viewController }) else {
return
}
if index == 1 {
self.tabBar.barTintColor = .black
} else {
self.tabBar.barTintColor = .yellow
}
}
我的索引是因为我有导航控制器,这对我来说更容易,你可以尝试使用
if viewController is MyViewController {
self.tabBar.barTintColor = .black
} else {
self.tabBar.barTintColor = .yellow
}
答案 1 :(得分:0)
试试这个。在一个选项卡上设置UIColor.clear,在其他选项卡上设置不同的颜色。
let tabBar = self.tabBarController?.tabBar
let tabBarItems = tabBar?.items
if(tabBar?.selectedItem == tabBarItems?[0])
{
tabBar?.barTintColor = UIColor.clear
}
else
{
tabBar?.barTintColor = UIColor.red
}