标签栏项目的 UIColor 未选中和更改标签栏颜色
UIColor of tab bar items unselected and changing tabbar color
我看到通过在 tabBar 上使用 setTintColor 可以更改所选项目的颜色。
如何更改未选中的 tabBarItem 颜色和文本?
如果我不能轻易更改它,使用的默认灰色是什么(RGB)?
谢谢。
您可以为 tabBarItem 使用图像。
要设置未选中的图像,请使用:
[tabBarItem setImage:(UIImage*)image]
要设置所选图像,请使用:
[tabBarItem setSelectedImage:(UIImage*)image]
tabBarItem 中的文本是与该 tabBarItem 相关联的 viewController 的标题。
你可以在网上找到很好的 tabBar 图标,这是一个很好的图标:https://icons8.com/
Swift 5.1, iOS 13
if #available(iOS 13.0, *) {
let appearance = UITabBarAppearance()
appearance.stackedLayoutAppearance.selected.titleTextAttributes = [NSAttributedString.Key.foregroundColor: UIColor.white]
appearance.stackedLayoutAppearance.normal.titleTextAttributes = [NSAttributedString.Key.foregroundColor: UIColor.clear]
tabBar.standardAppearance = appearance
} else {
//Code for below iOS 13.0, which I'm currently looking into too.
}
我看到通过在 tabBar 上使用 setTintColor 可以更改所选项目的颜色。
如何更改未选中的 tabBarItem 颜色和文本?
如果我不能轻易更改它,使用的默认灰色是什么(RGB)?
谢谢。
您可以为 tabBarItem 使用图像。
要设置未选中的图像,请使用:
[tabBarItem setImage:(UIImage*)image]
要设置所选图像,请使用:
[tabBarItem setSelectedImage:(UIImage*)image]
tabBarItem 中的文本是与该 tabBarItem 相关联的 viewController 的标题。
你可以在网上找到很好的 tabBar 图标,这是一个很好的图标:https://icons8.com/
Swift 5.1, iOS 13
if #available(iOS 13.0, *) {
let appearance = UITabBarAppearance()
appearance.stackedLayoutAppearance.selected.titleTextAttributes = [NSAttributedString.Key.foregroundColor: UIColor.white]
appearance.stackedLayoutAppearance.normal.titleTextAttributes = [NSAttributedString.Key.foregroundColor: UIColor.clear]
tabBar.standardAppearance = appearance
} else {
//Code for below iOS 13.0, which I'm currently looking into too.
}