2013-10-04 14 views
5

iOS 6 Blick ...Wie Statusleiste Hintergrundfarbe iOS 7

enter image description here

gleiche Art und Weise Ich mag Statusleiste in iOS 7 wie

sehen diese

würde festlegen anzuzeigen enter image description here

aber meine tatsächliche Ausgabe (Überlappung)

i Logik

open your info.plist and set "View controller-based status bar appearance" = NO 

folgende haben versucht, es ist nicht in meinem Code arbeiten ,,,

+0

@ swt- ihre sind viele Fragen zu SO, haben Sie gesucht –

Antwort

17

Sie haben 2 Dinge zu tun. Zunächst ist zu öffnen Ihre info.plist und setzen "View controller-based status bar appearance" = NO

Und das zweite ist diese Zeilen zu application:didFinishLaunchingWithOptions hinzufügen

if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7) 
{ 
    self.window.clipsToBounds = YES; 
    [[UIApplication sharedApplication] setStatusBarStyle: UIStatusBarStyleBlackOpaque];  

    UIInterfaceOrientation orientation = [UIApplication sharedApplication].statusBarOrientation; 
    if(orientation == UIInterfaceOrientationLandscapeLeft || orientation == UIInterfaceOrientationLandscapeRight) 
    { 
     self.window.frame = CGRectMake(20, 0,self.window.frame.size.width-20,self.window.frame.size.height); 
     self.window.bounds = CGRectMake(20, 0, self.window.frame.size.width, self.window.frame.size.height); 
    } else 
    { 
     self.window.frame = CGRectMake(0,20,self.window.frame.size.width,self.window.frame.size.height-20); 
     self.window.bounds = CGRectMake(0, 20, self.window.frame.size.width, self.window.frame.size.height); 
    } 
} 
+0

Meine Apps werden im Querformat ausgeführt. aber Ihr Code erscheint schwarze Balken rechts und links – SWT

+0

Aktualisiert eine Antwort zur Unterstützung beider Orientierungen. – Stanislav

+0

aber funktioniert gut ... aber wenn ich Bildschirm, der sich nicht auf der Bildschirmausrichtung zu ändern drehte – SWT

9

Lesen Sie diesen Artikel: http://www.appcoda.com/customize-navigation-status-bar-ios-7/

#define UIColorFromRGB(rgbValue) [UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 green:((float)((rgbValue & 0xFF00) >> 8))/255.0 blue:((float)(rgbValue & 0xFF))/255.0 alpha:1.0] 

[[UINavigationBar appearance] setBarTintColor:UIColorFromRGB(0x067AB5)]; 
+0

Ausgezeichnete Link für diese Entwickler setzen Bilder auf ihre UINavigationBar. – capikaw

+1

Leider hat nicht viel für meine iPad-Anwendung getan. Gute Verbindung obwohl – cynistersix

+0

Aus irgendeinem Grund funktioniert das nicht für mich, Storyboard, ios7. Diese Zeile zu AppDelegate hinzugefügt didFinishLaunching – Fraggle

0

Ihren Rahmen 20 Pixel nach unten verschieben. Sie können dies in Ihrem ViewWillAppear versuchen zu schreiben oder DidAppear

CGRect frame = self.view.frame; 
frame.origin.y = 20; 

if (self.view.frame.size.height == 1024 || self.view.frame.size.height == 768) 
{ 
    frame.size.height -= 20; 
} 
self.view.frame = frame; 

Nun setzen Hintergrundfarbe des Fensters auf schwarz in applicationDidFinishLaunching und setzen statusbar Schrift weiß zu sein (StatusBarContentLight)

Denken Sie daran, was ich vorschlage, ist nicht perfekte Lösung aber eine Lösung, die gut funktioniert. Verwenden Sie den gleichen Code, wenn App seine Ausrichtung ändert (ShouldAutorotate)

Verwandte Themen