Изменить синий цвет по умолчанию TabBar

При создании TabBar с использованием TabView и .tabItem цвета по умолчанию: серый, когда изображение не щелкнуто, и синий, если оно есть. Вот пример кода.

struct TabBar: View{
@State var current = 0
var body: some View{
    TabView(selection: $current) {
        
         View0()
            .tag(0)
            .tabItem {
                Image(systemName: "anySystemImageName")
                Text("")
            }
         View3()
            .tag(1)
            .tabItem {
                Image(systemName: "anySystemImageName")
                Text("")
            }
         View2()
            .tag(2)
            .tabItem {
                Image(systemName: "anySystemImageName")
                Text("")
            }
            View3()
            .tag(3)
                .tabItem {
                    Image(systemName: "anySystemImageName")
                    Text("")
                }
  
    }
}
}

Как использовать собственный цвет?


person Mateus Neves    schedule 09.12.2020    source источник


Ответы (2)


Вы можете использовать акцентный цвет, например

демо

    TabView(selection: $current) {
        
       // .. other code
  
    }.accentColor(.red)      // << here !!
person Asperi    schedule 09.12.2020

.accentColor - ключевое слово для изменения цвета

struct ContentView: View{
    @State var current = 0
    var body: some View{
        TabView(selection: $current) {
            Text("View 1")
                .tag(0)
                .tabItem {
                    Image(systemName: "circle")
                    Text("")
                }
                
            Text("View 1")
                .tag(1)
                .tabItem {
                    Image(systemName: "circle")
                    Text("")
                }
            Text("hallo")
                .tag(2)
                .tabItem {
                    Image(systemName: "circle")
                    Text("")
                }
            
            Text("hallo")
                .tag(3)
                .tabItem {
                    Image(systemName: "circle")
                    Text("")
                }
        }.accentColor(.red) //<< here
    }
}
person davidev    schedule 09.12.2020