Как инвертировать темный и светлый контент для строки состояния, чтобы приспособиться к темному режиму в Xcode

Я пытаюсь настроить темный режим для своего приложения, но заметил, что моя строка состояния имеет противоположный цвет, чем должен быть. В светлом режиме темно, а в темном - светло.

Вот он в светлом режиме (показывает неправильные темные цвета для строки состояния)  Вот он в светлом режиме (показывает неправильные темные цвета для строки состояния)

Вот он в темном режиме (показывает неправильные светлые цвета для строки состояния)

введите здесь описание изображения

В идеале я хотел бы перевернуть эти цвета строки состояния, чтобы в светлом режиме строка состояния была светлой (белой), а в темном режиме строка состояния была темной (черной).

Любая помощь будет принята с благодарностью, и заранее спасибо!


person Robert Harrison    schedule 24.11.2019    source источник
comment
Не уверен, что вы имеете в виду и как это сделать. Я не знаю, можно ли изменить цвет строки состояния в активах.   -  person Robert Harrison    schedule 24.11.2019
comment
Это цвета вашей панели навигации наоборот.   -  person matt    schedule 24.11.2019


Ответы (1)


Вы можете установить стиль строки состояния вручную, если хотите иметь настраиваемый контроль над строкой состояния. Переопределить preferredStatusBarStyle в вашем контроллере представления

class MyViewController: UIViewController {
    override var preferredStatusBarStyle: UIStatusBarStyle {
        switch traitCollection.userInterfaceStyle { // Light Mode vs. Dark Mode
        case .light:       return .lightContent
        case .dark:        return .darkContent
        case .unspecified: return .darkContent // <-- should never happen
        }
    }
}

См. userInterfaceStyle, preferredStatusBarStyle и предпочтительныйStatusBarStyle не работает для получения дополнительных сведений.

person Jeffery Thomas    schedule 24.11.2019