UIView.accessibilityIgnoresInvertColors got ignored after dismissing a presented view controller

Number:rdar://45663655 Date Originated:30-Oct-2018 4:53 PM
Status:Closed Resolved:30-Nov-2018
Product:iOS + SDK Product Version:iOS 11/12
Classification:Accessibility Reproducible:Always
When iOS 11/12 Smart Invert feature is on, set ignoring all UIViews with UIView.appearance() protocol, present then dismiss a view controller, the presenting view controller will ignore the ignoring setting.

Steps to Reproduce:
1. On an iOS 11 or 12 device, enable Smart Invert
2. Launch the app
3. In application(didFinishLaunchingWithOptions:), call UIView.appearance().accessibilityIgnoresInvertColors = true
4. Present a view controller
5. Dismiss the view controller

Expected Results:
Presenting view controller and its subviews ignore invert.

Actual Results:
Presenting view controller and its subviews become inverted colors.

iOS 11/12

Attached sample code and recorded video. (https://github.com/ethanhuang13/Bug.IgnoreSmartInvert)



Apple Developer Relations

API doesn't work this way. You need to set this on a view. We would do this on UIViewController.view

Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!