wake-up-neo.com

Xcode Hide weiße Statusleiste ios 10

Ich möchte eine weiße Statusleiste in meiner App. Dafür setze ich View controller-based status bar appearance auf NO und Status bar style auf UIStatusBarStyleLightContent. Aber jetzt muss ich die Statusleiste in einigen Ansichtscontrollern ausblenden. Um es auszublenden, muss ich View controller-based status bar appearance auf YES setzen und - (BOOL)prefersStatusBarHidden {return YES;} hinzufügen. Die Statusleiste ist jetzt schwarz. Es ist schwarz, wenn View controller-based status bar appearanceYES ist, und weiß, wenn NO. Die Frage ist also, wie die weiße Statusleiste gesetzt und ausgeblendet wird.

UPD: Code in VC, den ich weiße Statusleiste haben möchte (prefferdSTatusBarStyle nicht aufgerufen)

 enter image description here

code in VC mit ausgeblendeter Statusleiste

 enter image description here

.plist Einstellungen

 enter image description here

Das Ergebnis ist eine schwarze Statusleiste, die sich in einigen virtuellen Computern versteckt

UPD2:

Ich weiß, dass es schlecht ist, veraltete Methoden zu verwenden, aber mit [[UIApplication sharedApplication] setStatusBarHidden:YES]; funktioniert alles wie gewünscht. Wenn jemand eine bessere Lösung hat, lass es mich wissen.

6
Ossir

sie können unter Verwendung der Xcode-Statusleiste "Licht" einstellen.

 enter image description here

0
Birendra

Dies ist die Swift-Version:

Um die Statusleiste auszublenden oder ihre Darstellung zu ändern, müssen Sie die folgenden Eigenschaften in Ihrem View Controller selbst überschreiben

override var prefersStatusBarHidden: Bool{
        return true
}

das Obige verbirgt die Statusleiste und darunter, wenn Sie es auf Weiß setzen möchten:

override var preferredStatusBarStyle: UIStatusBarStyle {
        return .lightContent
}
5
Shawn Frank

Fügen Sie in Ihrer Plist-Datei die Eigenschaft View controller-based status bar appearance Bool hinzu und setzen Sie sie auf YES.

Fügen Sie nun in Ihrem View Controller die folgenden Methoden hinzu:

// TO MAKE STATUS BAR WHITE
override func preferredStatusBarStyle() -> UIStatusBarStyle {
        return .LightContent
}

// TO MAKE STATUS BAR BLACK
override func preferredStatusBarStyle() -> UIStatusBarStyle {
        return .LightContent
}

// RETURN TRUE TO HIDE AND FALSE TO SHOW STATUS BAR
override func prefersStatusBarHidden() -> Bool {
        return true
}

Für Ziel-C

- (BOOL)prefersStatusBarHidden {
    return NO;
}

-(UIStatusBarStyle)preferredStatusBarStyle {
    return UIStatusBarStyleLightContent;
}

Um redundanten Code zu entfernen, können Sie eine BaseViewController als Unterklasse von UIViewController erstellen und die Methoden in dieser Klasse hinzufügen. Und überschreiben Sie die Methode in der Klasse, die geändert werden muss.

2
Parth Adroja

wenn Ihr Viewcontroller in UInavigationController eingebettet ist, schreiben Sie diesen Code in Ihr

-(BOOL)prefreStatusBarHidden
{
       return [self.navigationController prefersStatusBarHidden];
}
0
Nishant Tiwari