I’m using a standard DisclosureGroup in SwiftUI and noticed that the disclosure indicator (chevron) no longer adopts the tint color.
Example:
DisclosureGroup("Details") {
Text("Content")
}
.tint(.indigo)
The label text becomes indigo, but the chevron remains the default system color.
I also tried creating a custom DisclosureGroupStyle to render my own chevron, but that approach appears to break some of the built-in disclosure animation behavior and interaction.
Questions:
- Is there a supported way to customize the disclosure indicator color in DisclosureGroup?
- Has the behavior of .tint(_:) changed for DisclosureGroup in recent iOS releases?
- If customization is not currently supported, is there a recommended alternative that preserves the native disclosure animations and accessibility behavior?
Tested on: iOS 26.3 and Xcode 26.3
Hello @ikeval,
DisclosureGroupStyle is a custom style you create explicitly - the animation isn’t automatic in a custom style.
You can drive the animation yourself with configuration.isExpanded
See isExpanded.
struct CustomDisclosureGroupStyle: DisclosureGroupStyle {
func makeBody(configuration: Configuration) -> some View {
VStack(alignment: .leading) {
Button { configuration.isExpanded.toggle() } label: {
HStack {
configuration.label
Spacer()
Image(systemName: "chevron.right")
.rotationEffect(.degrees(configuration.isExpanded ? 90 : 0))
}
}
if configuration.isExpanded { configuration.content }
}
}
}
This will now tint the DisclosureGroup chevron:
DisclosureGroup("Details") {
Text("Content")
}
.disclosureGroupStyle(CustomDisclosureGroupStyle())
.tint(.indigo)
- Has the behavior of .tint(_:) changed for DisclosureGroup in recent iOS releases?
DisclosureGroup now uses the AccentColor by default - and with .accentColor being deprecated, .tint is the current approach to change the DisclosureGroup color. I confirmed the behavior you are seeing is expected here.
Please use DisclosureGroupStyle to make a custom style, then the chevron will respond to tint color.
Thank you for your post!
Travis