Yandex Metrika
sanches.free

Светлый статус‑бар на тёмном экране: preferredStatusBarStyle и ключи plist

Разбор задачи

Стандартный тёмный контент статус‑бара плохо читается на насыщенном фоне. Для локального переопределения возвращайте нужный кейс из контроллера и при необходимости отключите глобальное управление plist.

import UIKit

final class PromoViewController: UIViewController {
    override var preferredStatusBarStyle: UIStatusBarStyle {
        return .lightContent
    }

    override func viewDidAppear(_ animated: Bool) {
        super.viewDidAppear(animated)
        setNeedsStatusBarAppearanceUpdate()
    }
}

В Info.plist параметр UIViewControllerBasedStatusBarAppearance держите true, если стиль задаёте точечно контроллерами; иначе глобальные ключи UILaunchStoryboardName/старые паттерны перекроют ваш выбор.

Замечания перед выкладкой

Вносите правки только через среду с бэкапом и понятным diff. После изменения plist пересоберите сборку полностью: симулятор кеширует внешний вид строки состояния агрессивнее контента.

Не хотите копаться сами?

Починю за 1-3 дня. Без предоплаты — оплата по результату.

15+ лет опыта с 1С-Битрикс · Без предоплаты · 7 дней гарантии