2016-06-21 10 views
3

In einigen UIViewController, UINavigationBar verbirgt sich unter Statusleiste. Hier ist der Screenshot:UINavigationBar verbirgt sich unter statusBar

<code>UINavigationBar</code> under StatusBar

Aber wenn ich View controller-based status bar appearance ändern YES dann UINavigationBar sieht perfekt aus. Hier ist der Screenshot:

black text in <code>UIStatusBar</code>

Aber in diesem Fall textColor von status bar geht Wechsel von weiß bis schwarz. Ich möchte weiße Textfarbe der Statusleiste und auch UINavigationBar aus der Statusleiste einblenden. Gibt es eine Möglichkeit, es zu lösen (weiße Farbe der Statusleiste und blenden Sie UINavigationBar ein).

Vielen Dank im Voraus!

+0

JA aber es funktioniert nicht. :( –

+0

Wenn Sie Ihre Navigationsleiste gezogen und fallen gelassen haben, und dann Constraints darauf angewendet haben, dann ist das Constraint-Problem..mehr Platz zu topConstriant –

+0

@SahebSingh Ich benutze keine Constraint in irgendeinem UIViewController. Ich behebe nur das Problem von existierendem Code. –

Antwort

0

Fügen Sie diesen Code in Ihre AppDelegate und info.plist

in info.plist

View controller-based status bar appearance to NO 

In AppDelegate

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent]; 
+0

Bereits hinzugefügt, aber nicht funktioniert. –

+0

Set Controller-basierte Statusleiste-Darstellung in NO anzeigen –

+0

Wenn ich die View-Controller-basierte Statusleiste auf NO einstellen, wird UINavigationBar unter UIStatusBar ausgeblendet –

0

Sie können jederzeit manuell den Ursprung der Navigationsleiste in viewWillAppear (animiert: Bool)

self.navigationController?.navigationBar.frame.origin = CGPoint(0, 20) 
1

Fügen Sie diese Schlüssel zu Ihrem Projekt Info.plist hinzu und Sie sollten in Ordnung sein.

<key>UIStatusBarStyle</key> 
<string>UIStatusBarStyleLightContent</string> 
<key>UIViewControllerBasedStatusBarAppearance</key> 
<false/> 
Verwandte Themen