web-dev-qa-db-fra.com

SwiftUI: Couleur de la barre d'état

Existe-t-il un moyen de changer la barre d'état en blanc pour une vue SwiftUI?

Je manque probablement quelque chose de simple, mais je n'arrive pas à trouver un moyen de changer la barre d'état en blanc dans SwiftUI. Jusqu'à présent, je ne vois que .statusBar(hidden: Bool).

20
keegan3d

Mise à jour: Il semble que la réponse de Hannes Sverrisson ci-dessus soit la plus proche, mais nos réponses sont légèrement différentes.

Les réponses ci-dessus avec la sous-classe UIHostingController, telles qu'elles sont écrites, ne fonctionnent pas dans XCode 11.3.1.

Les éléments suivants ont fonctionné pour moi, pour la sous-classe (qui gère également les paramètres d'environnement ContentView):

import SwiftUI

class HostingController<Content>: UIHostingController<Content> where Content : View {
    override var preferredStatusBarStyle: UIStatusBarStyle {
        return .lightContent
    }
}

Puis dans SceneDelegate.Swift, en changeant le window.rootViewController le réglage en tant que tel fonctionne bien:

window.rootViewController = HostingController(rootView: contentView)
0
Justin N