BulletinBoard icon indicating copy to clipboard operation
BulletinBoard copied to clipboard

Dark mode support cannot be overridden at runtime

Open eliburke opened this issue 6 years ago • 0 comments

Problem Description: #170 added Dark Mode support in a simplistic manner: If running on iOS 13, use whatever color is provided by the operating system for the Dynamic Color systemBackground

If an App opts out of Dark Mode support by setting User Interface Style to .light in Info.plist, the dynamic colors match the old behavior. But it is also valid to honor Dark Mode and opt out for individual view controllers and their children.

Unfortunately, setting overrideUserInterfaceStyle = .light or passing a new UITraitCollection to new Window or ViewController does not change the definition of Dynamic Colors, when Dark Mode is enabled systemBackground is always black.

Suggestion:

  1. easy - update BltnItemManager to take a (default nil) UITraitCollection
  2. better - add backgroundColor and defaultActivityIndicatorColor to BLTNItemAppearance, update BltnItemManager to take an optional BltnInterfaceManager, and use the interfaceManager for both setting up the main card view, as well as passing it through to makeArrangedSubviews()

Thoughts?

eliburke avatar Feb 12 '20 14:02 eliburke