如何更改 SwiftUI 中所选选项卡栏项目的图标颜色?
我尝试使用 UITabBar.appearance().unselectedItemTintColor 更改图标的颜色,但它仅适用于 systemImage 并且不突出显示图像,仅突出显示文本。
init() {
UITabBar.appearance().unselectedItemTintColor = .secondaryLabel
}
TabView {
FirstView()
.tabItem {
Text("Home")
Image("home")
}
CatalogView()
.tabItem {
Text("Categories")
Image("catalog")
}
CustomerProfileView()
.tabItem {
Text("Profile")
Image("profile")
}
ShoppingView()
.tabItem {
Text("Cart")
Image("shoppingbasket")
}
}
我也尝试过 .accentColor 但 Xcode 说它将被弃用。
I tried to change icon's color with UITabBar.appearance().unselectedItemTintColor but it works only with systemImage and doesn't highlight image, only text.
init() {
UITabBar.appearance().unselectedItemTintColor = .secondaryLabel
}
TabView {
FirstView()
.tabItem {
Text("Home")
Image("home")
}
CatalogView()
.tabItem {
Text("Categories")
Image("catalog")
}
CustomerProfileView()
.tabItem {
Text("Profile")
Image("profile")
}
ShoppingView()
.tabItem {
Text("Cart")
Image("shoppingbasket")
}
}
I also tried .accentColor but Xcode says it will be deprecated.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
在这种情况下,您可以使用
foregroundColor
。You can use
foregroundColor
in this case.你的代码工作得很好。
但您还需要将资产设置为资产目录中的模板图像:
所以不需要使用 .foregroundColor
Your code works just fine.
But you also need to set your asset as a template image in the asset catalog:
So no need to use .foregroundColor
您是否尝试过将 .tint() 修饰符应用于 TabView?
就像这样:
Have you tried applying .tint() modifier to the TabView?
Just like this: