【问题标题】:Change Tabbar Icon Image SwiftUI更改标签栏图标图像 SwiftUI
【发布时间】:2021-01-07 06:30:00
【问题描述】:

点击此代码中的tabItem 之一时,我想更改tabItem 图标图像。怎么办?

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)
    }

【问题讨论】:

    标签: swiftui swiftui-tabview


    【解决方案1】:

    你可以像这样改变图像,

    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】:

      你可以为它使用状态

      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)
      }
      

      【讨论】:

        猜你喜欢
        • 2020-08-17
        • 2013-06-11
        • 2012-08-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-05-15
        • 2015-07-11
        • 1970-01-01
        相关资源
        最近更新 更多