1

on macOS26 / 26.1 Tahoe the Toggle stopped being colored / tinted by using modifier

.tint(toggleColor())

it just remains with the current system color... e.g. blue or the tint central to the whole system

macOS 14 Sonoma

enter image description here

macOS 26 Tahoe

enter image description here

How to adjust the color like in macOS 14 Sonoma where it worked flawlessly using the .tint modifier?

Please note that the green outline border overlay comes from

            .overlay {
                Capsule(style: .continuous)
                        .stroke(toggleColor())
            }
2
  • 1
    Try setting an AccentColor in your asset catalog. Commented Nov 21 at 18:41
  • but the Toggle color was bound to status, not overall the same Commented Nov 25 at 13:44

1 Answer 1

0

On macOS 26 this isn’t really a SwiftUI bug — it’s just a side effect of the big UI overhaul Apple did in Tahoe. A lot of system controls were rewritten, and many things that used to respect .tint or .foregroundStyle simply don’t anymore. NSSwitch in particular ignores all per-control coloring. It only uses the system accent color now, nothing else.

Visual regressions like this are pretty common right after a major redesign. In iOS 18 and macOS 26 there are lots of similar issues where components suddenly stopped honoring tint, shape styles, or started behaving more like raw AppKit views with missing SwiftUI modifiers. There are quite a few styling bugs in general.

That’s why the most reliable solution at the moment is to set a custom AccentColor in your asset catalog. System controls in Tahoe still respect the global accent color, and the Toggle automatically picks it up. No other color modifier works on macOS 26 if you want to keep the native Toggle.

So if you need to preserve the native look and behavior, a global AccentColor is currently the only way to restore custom coloring without switching to a custom ToggleStyle.

AccentColor in Assets

Toggle tint color after global AccentColor changed

Sign up to request clarification or add additional context in comments.

2 Comments

but the Toggle color was bound to status, not overall the same
I tried to find a system level workaround for per Toggle coloring, but on macOS 26 nothing except the global AccentColor is respected anymore. If I find something better I’ll update the answer, but right now there’s no other solution.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.