Frage

Ich habe Probleme herauszufinden, wie ich die Statusleiste in iOS 7 dazu bringen kann, die Farbe meiner Navigationsleiste zu verwenden.ich benutze UINavigationController In Verbindung mit SWRevealController Bibliothek für die Schiebemenünavigation.

So sieht eine Seite im Moment aus:

enter image description here

Ich möchte, dass die Statusleiste die graue Farbe der Navigationsleiste übernimmt.Wie kann ich das machen?

War es hilfreich?

Lösung

Sie können die Info.plist Ihres Projekts ändern und „Darstellung der Controller-basierten Statusleiste anzeigen“ auf NEIN setzen

In AppDelegate müssen Sie hinzufügen

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];

zur AppDelegates didFinishLaunchingWithOptions-Methode.

Hoffentlich funktioniert es für Sie.

Andere Tipps

In der iOS 7-Navigationsleiste beträgt die Bildhöhe 64 Pixel.Sie müssen zwei Bilder erstellen, eines für die Navigationsleiste für iOS 7 mit einer Höhe von 64 Pixeln und ein weiteres für iOS 6 oder weniger mit einer Höhe von 44 Pixeln

Dann verwenden Sie diesen Code

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];
}

Erstellen Sie eine benutzerdefinierte Ansicht und legen Sie die Farbe der Navigationsleiste auf diese Ansicht fest, platzieren Sie diese Ansicht anstelle der Statusleiste und ändern Sie die Farbe Ihrer Statusleiste in transparent.Viel Spaß beim Codieren

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];
}

Legen Sie den Delegaten der Navigationsleiste als aktuellen Ansichtscontroller fest und hängen Sie die Navigationsleiste oben an.

class ViewController: UIViewController, UINavigationBarDelegate {

@IBOutlet weak var navigationBar: UINavigationBar!

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

func positionForBar(bar: UIBarPositioning) -> UIBarPosition {
    return .TopAttached
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top