1

I override traitCollectionDidChange on a view controller and have noticed that it's been called twice on suspending the application.

In addition, a check if the trait collection has a different color appearance returns:

  • the first time execution - the opposite userInterfaceStyle
  • the second time execution - the original userInterfaceStyle.
class ViewController: UIViewController {
    override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) {
        super.traitCollectionDidChange(previousTraitCollection)

        if traitCollection.hasDifferentColorAppearance(comparedTo: previousTraitCollection) {
            print(traitCollection.userInterfaceStyle.rawValue);
        }
    }
}
Dávid Pásztor
  • 51,403
  • 9
  • 85
  • 116
vchimev
  • 21
  • 4

0 Answers0