Donly
Donly

Reputation: 55

SwiftUI: macOS Can't change TabView's tabItem accent color

TabView {
    Text("The First Tab")
        .badge(10)
        .tabItem {
            Image(systemName: "1.square.fill")
            Text("First")
        }
    Text("Another Tab")
        .tabItem {
            Image(systemName: "2.square.fill")
            Text("Second")
        }
    Text("The Last Tab")
        .tabItem {
            Image(systemName: "3.square.fill")
            Text("Third")
        }
}
.font(.headline)
.accentColor(.orange) // don't work on macOS

This codes works on iOS: enter image description here

Running on macOS settings view: enter image description here

Here's the system default settings: enter image description here

Test on macOS 12.4 (21F79) and iOS 15.4. can't change the default accent blue.

Upvotes: 0

Views: 875

Answers (1)

Asperi
Asperi

Reputation: 258443

On macOS it can be changed this way:

struct ContentView: View {
    init() {
        UserDefaults.standard.set(1, forKey: "AppleAccentColor")  // << here !!
    }
    var body: some View {
        TabView {

Tested with Xcode 13.4 / macOS 12.4

demo

*see for other values https://stackoverflow.com/a/51695756/12299030
**also some related https://stackoverflow.com/a/68846972/12299030

Upvotes: 3

Related Questions