2017-12-29 47 views
0

Sorry für Langwierige Beschreibung-Objective-C: Statusleiste Farbe und Navigations Farbe ist nicht gleich ist auch gesetzt ich gleiche Farbe in iOS 11

Auf welcher Anwendung ich arbeite, ist es die 2 Jahre alt . Da wir Unterstützung für iOS 11 geben wollten, mussten wir bei einem bestimmten View-Controller den Bildschirm um 180 Grad drehen. Dazu wir Gebraucht-

[[[UIApplication sharedApplication] delegate] window].transform = CGAffineTransformMakeRotation(M_PI); 

Auf diese Weise wir das Fenster tatsächlich verwandeln.

Es funktionierte gut vor iOS11.0. In iOS 11, wenn wir wieder in die ursprüngliche Ansicht transformieren, gibt es das Problem mit der Statusleiste.

Also, um dieses Problem zu lösen ich die Farbe Navigationsleiste am Wechsel sowie Statusleiste,

#import "UINavigationController+Utilities.h" 

@implementation UINavigationController (Utilities) 

UIView *view; 

-(void)setStatusBackground:(UIColor *)color 
{ 
    if(SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"11.0")) 
    { 

     if (view == nil) { 

      view = [[UIView alloc] initWithFrame: CGRectMake(0, 0, DEVICE_SCREEN_WIDTH, 20)] ; 
      view.backgroundColor = color; 
      [self.view addSubview:view]; 
     } 

     view.backgroundColor = color; 

    } 
} 

@end 

ändern Hintergrundfarbe der Navigationsleiste auf Blau.

[self.navigationController.navigationBar setBarTintColor: HCCOLOR_BLUE]; [self.navigationController setStatusBackground: HCCOLOR_BLUE];

aber die Farbe ist nicht gleich beide. Es sieht etwas anders aus.

Ich füge die image- Screen shot of navigation bar

Antwort

0

Dies könnte daran liegen könnte Ihre Navigationsleiste Versuchen ist durchscheinend werden self.navigationController.navigationBar.translucent = NO;

Verwandte Themen