risposta-alla-domanda-sullo-sviluppo-web-bd.com

Modifica del colore del testo della barra di stato nella schermata iniziale iOS 7

So che ci sono già alcuni stackoverflowdomande che dicono come cambiare la barra di stato per tutti i controller di visualizzazione. Attualmente sto cambiando il colore della barra di stato in questo modo:

if(IS_IOS7)
    [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];

Nel application:DidFinishLaunching

Inoltre, ho modificato il valore di UIViewControllerBasedStatusBarAppearance nel plist in NO. Tuttavia, nella schermata iniziale mostra ancora il testo della barra di stato con il colore nero.

È possibile cambiare il colore del colore del testo della barra di stato nella schermata iniziale ?

94
Tiago Almeida

Nel file di progetto plist aggiungere la proprietà "Style Bar Style" (la chiave è UIStatusBarStyle). Quindi ignora tutti i possibili valori elencati nel menu a discesa per questa proprietà e digita invece UIStatusBarStyleLightContent.

E non devi impostare UIViewControllerBasedStatusBarAppearance su NO nel tuo plist, puoi impostare preferredStatusBarStyle sui controller della vista.

215
Vinzzz

Puoi farlo senza scrivere nessuna riga di codice
Effettuare le seguenti operazioni per rendere il testo della barra di stato di colore bianco nell'intera app

Su di te project plist file:

  • Stile della barra di stato: UIStatusBarStyleLightContent
  • Visualizza l'aspetto della barra di stato basata sul controller: NO
  • La barra di stato è inizialmente nascosta: NO
32
Lucas

È possibile eseguire le seguenti operazioni per ottenere la barra di stato del colore chiaro in tutta l'applicazione.

  1. Seleziona il nome del progetto nel navigatore del progetto.
  2. Seleziona il nome di una destinazione dall'elenco nella colonna di sinistra dell'editor del progetto.
  3. Fai clic su Generale nella parte superiore dell'editor del progetto.
  4. Imposta lo stile della barra di stato -> Luce

Nel tuo file plist aggiungi i seguenti valori:

  1. Stile della barra di stato - UIStatusBarStyleLightContent
  2. Visualizza l'aspetto della barra di stato basata sul controller - NO

Questo ti aiuterà a ottenere la barra di stato di colore BIANCO in tutta l'applicazione, incluso SPLASH SCREEN.

18
Anooj VM

Impostare UIViewControllerBasedStatusBarAppearance su No nel plist

Quindi aggiungere il codice seguente nell'opzione di avvio del completamento

if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7) {

   [application setStatusBarStyle:UIStatusBarStyleLightContent];

    self.window.clipsToBounds =YES;

    self.window.frame =  CGRectMake(0,20,self.window.frame.size.width,self.window.frame.size.height-20);
}

Per favore segui questo codice ha funzionato per me

7

Ecco Linee guida/istruzioni Apple sulla modifica della barra di stato.

Ecco - Come cambiare lo stile della barra di stato:

Se si desidera impostare lo stile della barra di stato, il livello dell'applicazione quindi impostare UIViewControllerBasedStatusBarAppearance su NO nel file `.plist '.

se vuoi impostare lo stile della barra di stato, a livello di controller, segui questi passaggi:

  1. Impostare UIViewControllerBasedStatusBarAppearance su YES in .plist file, se è necessario impostare lo stile della barra di stato solo a livello di UIViewController.
  2. Nella viewDidLoad aggiungi funzione - setNeedsStatusBarAppearanceUpdate

  3. eseguire l'override diStatusBarStyle preferito nel controller di visualizzazione.

-

override func viewDidLoad() {
    super.viewDidLoad()
    self.setNeedsStatusBarAppearanceUpdate()
}

override var preferredStatusBarStyle: UIStatusBarStyle {
    return .lightContent
}

Impostare il valore di .plist in base al livello di impostazione dello stile della barra di stato. enter image description here


È possibile impostare il colore di sfondo per la barra di stato all'avvio dell'applicazione o durante viewDidLoad del controller della vista.

extension UIApplication {

    var statusBarView: UIView? {
        return value(forKey: "statusBar") as? UIView
    }

}

// Set upon application launch, if you've application based status bar
class AppDelegate: UIResponder, UIApplicationDelegate {

    var window: UIWindow?

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
        UIApplication.shared.statusBarView?.backgroundColor = UIColor.red
        return true
    }
}


or 
// Set it from your view controller if you've view controller based statusbar
class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        UIApplication.shared.statusBarView?.backgroundColor = UIColor.red
    }

}



Ecco il risultato:

enter image description here

2
Krunal

È possibile eseguire le seguenti operazioni per ottenere la barra di stato del colore chiaro in tutta l'applicazione.

Seleziona il nome del progetto nel navigatore del progetto. Seleziona il nome di una destinazione dall'elenco nella colonna di sinistra dell'editor del progetto. Fai clic su Generale nella parte superiore dell'editor del progetto. Imposta lo stile della barra di stato -> Luce

1
Usman Nisar