这是关于SwiftUI的。
我的自定义PNG 75x75,黑色,背景透明TabBar图标没有得到颜色。我的图标始终为黑色,无论该图标是否处于活动状态。我在做什么错了?
Text("Test")
.tabItem {
Image("MyIcon")
Text("MyName")
}.tag(0)
答案 0 :(得分:0)
模板模式应该可以在这里工作,例如
Image("MyIcon")
.renderingMode(.template)
答案 1 :(得分:0)
.renderingMode(.template)完成此操作。
如果您不想为每个图像添加渲染模式,则只需在 Assets.xcassets 中选择它们,然后在“呈现为”下的右侧面板
答案 2 :(得分:0)
这是我该怎么做
• keep separate images for the selected and unselected version
• use @State var to define the image names and update it using onAppear and onDisappear
以下示例
struct ContentView: View {
@State var selectedTab = 0
@State var tab0_image = "<custom-image-tab0_unselected"
@State var tab1_image = "<custom-image-tab1_unselected"
var body: some View {
TabView(selection: $selectedTab) {
View_tab0().tabItem({
Image(tab0_image)
}).tag(0)
.onAppear{self.tab0_image = "<custom-image-tab0_selected>"}
.onDisappear{self.tab0_image = "<custom-image-tab0_selected>"}
View_tab1().tabItem({
Image(tab1_image)
}).tag(1)
.onAppear{self.tab1_image = "<custom-image-tab1_selected>"}
.onDisappear{self.tab1_image = "<custom-image-tab1_selected>"}
}
}
}
答案 3 :(得分:0)