Возможно ли определить, выбрал ли пользователь темный режим на iPhone из xcode 10.x - PullRequest
0 голосов
/ 14 октября 2019

Я все еще использую xcode 10.2.1 и не обновился до xcode 11 из-за некоторых других проблем. Теперь я хочу обнаружить, что пользователи, использующие iOS 13, выбрали темный режим или светлый режим в качестве настроек своего приложения.

Согласно яблочному документу, если бы разработчик собирал приложение с помощью предыдущего xcode, приложение было бы в легком режиме по умолчанию, что в моем случае и хорошо.

Итак, есть ли способ определить текущий режим появления пользователя.

Есть фрагмент кода, который я использую:

if #available(iOS 13.0, *) {
            guard(traitCollection.responds(to: #selector(getter: UITraitCollection.userInterfaceStyle)))
                else { return }

            let style = traitCollection.userInterfaceStyle

            switch style {
            case .light:
                print("light")
            case .dark:
                print("dark")
            case .unspecified:
                print("unspecified")
            @unknown default:
                print("unspecified")
            }

        }

Но он всегда возвращает неопределенноеили свет.

1 Ответ

1 голос
/ 14 октября 2019

Вы можете использовать это свойство, чтобы проверить, является ли текущий стиль темным режимом или нет:

if #available(iOS 13.0, *) {
    if UITraitCollection.current.userInterfaceStyle == .dark {
        print("Dark mode")
    }
    else {
        print("Light mode")
    }
}
...