Domanda

Ho problemi a capire come ottenere la barra di stato in iOS 7 per utilizzare il colore della mia barra della navigazione.Sto usando UINavigationController in combinazione con la libreria SWRevealController per il menu di scorrimento NAV.

Ecco come è un'occhiata a una pagina adesso:

Inserisci Descrizione dell'immagine qui

Voglio che la barra di stato eredita il colore grigio della barra di navigazione.Come posso fare questo?

È stato utile?

Soluzione

È possibile modificare le informazioni del tuo progetto.plist e impostare 'Visualizza la barra di stato basata sul controller "come no

In AppDelegate devi aggiungere

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
.

A AppDelegates DidFinishLaunchingWithOptions Method.

Speriamo che funzioni per te.

Altri suggerimenti

In IOS 7 La barra di navigazione dell'altezza dell'immagine è 64 pixel.È necessario creare due immagini, una per la barra di navigazione per iOS 7 con altezza di 64 pixel e un'altra per iOS 6 o meno con altezza di 44 pixel

Quindi utilizzare questo codice

if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0)?YES:NO) {
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"your 64 image"] forBarMetrics:UIBarMetricsDefault];
 } 
else 
{
 [self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"your 44 image"] forBarMetrics:UIBarMetricsDefault];
}
.

Effettuare una vista personalizzata e impostare il colore della barra di navigazione su quella vista, posizionare questa vista sul luogo della barra di stato e modificare il colore della barra di stato su Trasparente. Codifica felice

if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0)?YES:NO) {
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"newImage.png"] forBarMetrics:UIBarMetricsDefault];
 } 
else 
{
 [self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"previousImage.png"] forBarMetrics:UIBarMetricsDefault];
}
.

Impostare il delegato della barra di navigazione per essere il controller di visualizzazione corrente e collegare la barra di navigazione verso l'alto.

class ViewController: UIViewController, UINavigationBarDelegate {

@IBOutlet weak var navigationBar: UINavigationBar!

override func viewDidLoad() {
    navigationBar.delegate = self
}

func positionForBar(bar: UIBarPositioning) -> UIBarPosition {
    return .TopAttached
}
.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top