首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >更改选项卡栏图标图像SwiftUI

更改选项卡栏图标图像SwiftUI
EN

Stack Overflow用户
提问于 2021-01-07 14:30:01
回答 2查看 122关注 0票数 1

我想在点击此代码中的某个tabItem时更改tabItem图标图像。怎么做呢?

代码语言:javascript
运行
复制
var body: some View {
    ZStack {
        TabView(selection:$selection) {
            OffersView()
                .tabItem ({
                    Image(systemName: "bag").renderingMode(.template)
                    Text("Offers")
                })
                .tag(1)
            StepView()
                .tabItem ({
                    Image(systemName: "figure.walk.circle").renderingMode(.template)
                    Text("Steps")
                })
                .tag(2)
            ProfileView()
                .tabItem {
                    Image(systemName: "person")
                    Text("Profile")
                }
                .tag(3)
        }
        .accentColor(Color("ColorOnboarding"))
        .navigationBarBackButtonHidden(true)
    }
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-01-07 14:34:55

你可以像这样改变图像,

代码语言:javascript
运行
复制
var body: some View {
    ZStack {
        TabView(selection:$selection) {
            OffersView()
                .tabItem ({
                    Image(systemName: selection == 1 ? "bag" : "bag2").renderingMode(.template)
                    Text("Offers")
                })
                .tag(1)
            StepView()
                .tabItem ({
                    Image(systemName: selection == 2 ? "figure.walk.circle" : "figure.walk.circle2").renderingMode(.template)
                    Text("Steps")
                })
                .tag(2)
           
//            -----Other Code-----
票数 2
EN

Stack Overflow用户

发布于 2021-01-07 14:40:27

您可以对其使用state

代码语言:javascript
运行
复制
var body: some View {
@State var isTapped = false
ZStack {
    TabView(selection:$isTapped) {
        OffersView()
            .tabItem ({
                Image(systemName: selection == 1 ? "bag" : "bag2").renderingMode(.template)
                Text("Offers")
            })
            .tag(1)
        StepView()
            .tabItem ({
                Image(systemName: selection == 2 ? "figure.walk.circle" : "figure.walk.circle2").renderingMode(.template)
                Text("Steps")
            })
            .tag(2)
        ProfileView()
            .tabItem {
                Image(systemName: "person")
                Text("Profile")
            }
            .tag(3)
    }
    .accentColor(Color("ColorOnboarding"))
    .navigationBarBackButtonHidden(true)
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65607627

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档