Opacity of DisclosureGroup arrow in iOS 17

Prior to iOS 16, DisclosureGroup arrow was opaque.

However, in iOS 17, the following code makes the arrow translucent:

DisclosureGroup {
    Text("Title")
} label: {
    Text("Label")
}

When DisclosureGroup is in List, it is opaque, as in iOS 16:

List {
    DisclosureGroup {
        Text("Title")
    } label: {
        Text("Label")
    }
}

Is this expected behavior? And is there a way to change the opacity of arrows without a custom style in iOS 17?

Hi @tatstana,

Did you happen to find a solution to that problem ? I'm currently having the same issue and no solution in sight.

Thanks !

Julien

Hi, can you both please file a feedback report at https://feedbackassistant.apple.com and post the FB number here? Thank you! Please add that code above!

@julien4815 No solution has been found yet...

@sha921 OK! I just filed a feedback report: FB13230696

Any update on this yet?

I've run into the same problem, so I did some digging in the View Hierarchy debugger. Here's what I found (attached screenshots comparing this in iOS 16.4 to iOS 17). It seems like in iOS 17, there's a property called image in the "Image" section of the Object Inspector (4th tab in right-side panel while debugging view hierarchy). This image property has a parameter called maskColor that is set to (0.99999994, 0.99999994, 0.99999994, 1) (which is weird, because a mask shouldn't do anything if its transparency is 1). Meanwhile, on iOS 16.4, this image property is just set to <null> altogether.

I haven't been able to programmatically replicate this effect in iOS 16, but do with this information what you will (maybe add it on the feedback report if nothing is updated on it yet).

iOS 16.4:

iOS 17:

Opacity of DisclosureGroup arrow in iOS 17
 
 
Q