2017-05-18 2 views
2

Ich setze Statusleiste Farbe in appdelegate Klasse wie folgt.Entfernen Statusleiste Farbe von einem einzigen Bildschirm, wenn es in App Delegate gesetzt

- (void)transitionToViewController:(UIViewController *)viewController 
        withTransition:(UIViewAnimationOptions)transition 
{ 
    self.window.rootViewController = viewController; 

    //SET STATUS BAR COLOR 
    if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"7.0")) 
    { 
     UIView *view=[[UIView alloc] initWithFrame:CGRectMake(0, 0,[UIScreen mainScreen].bounds.size.width, 20)]; 
     view.backgroundColor= [UIColor colorWithRed:0.96 green:0.96 blue:0.96 alpha:1.0]; 
     [self.window.rootViewController.view addSubview:view]; 
    } 
} 

Wenn ich versuche, es von einem einzigen Bildschirm zu entfernen, versage ich. Es behält die Hintergrundfarbe, wie ich in appdelegate einstellt, aber löscht Texte. Ich möchte auch den Hintergrund entfernen.

Hier ist, wie ich versuche, die Statusleiste zu entfernen:

[[UIApplication sharedApplication] setStatusBarHidden:YES]; 

und Statusleiste sieht wie folgt aus:

enter image description here

+0

Versuchen Sie http://stackoverflow.com/questions/8326804/hide-the-status-bar-on-iphone-on-a-single-view – Rishab

+0

Mögliche Duplikate von [kann Statusbar in einzelnen UIViewController nicht ausblenden] (http : //stackoverflow.com/questions/36717012/unable-to-hide-statusbar-in-single-uiviewcontroller) – Rivendell

Antwort

0

in info.plist hinzufügen, um dieses View-Controller-basierte Statusleiste Aussehen Set YES

View controller-based status bar appearance = YES 

ViewController basiert versteckten Satz

Fügen Sie die Methode in Ihrem View-Controller hinzu.

Objective C

- (BOOL)prefersStatusBarHidden { 
    return YES; 
} 

Swift

override func prefersStatusBarHidden() -> Bool { 
    return true 
} 
+0

bevorzugtStatusBarHidden nicht einmal aufgerufen. Ich fügte hinzu, plist. – birdcage

+0

plz können Sie es versuchen auf Gerät –

+0

Immer noch gleich. Es heißt nicht. – birdcage

-1

Fügen Sie folgendes zu Ihrem Info.plist:

<key>UIStatusBarHidden</key> 
<true/> 
<key>UIViewControllerBasedStatusBarAppearance</key> 
<false/> 

Dies funktioniert auch (iOS7 +):

override func prefersStatusBarHidden() -> Bool { 
    return true 
} 

Sie müssen auch anrufen:

setNeedsStatusBarAppearanceUpdate() 

in etwa viewDidLoad().

+0

Was ist die objektive c-Version? – birdcage

+0

- (BOOL) prefersStatusBarHidden { Rückgabe YES; } [self setNeedsStatusBarAppearanceUpdate]; – Ved

+0

Das hilft nicht. Weil sich sein Uistatusbar von der ganzen App versteckt. – birdcage

Verwandte Themen