webentwicklung-frage-antwort-db.com.de

Wie kann ich eine Statusleiste in iOS ausblenden?

Ich kann eine Statusleiste in meiner App ausblenden:

- (void)viewDidLoad{
    [[UIApplication sharedApplication] setStatusBarHidden:YES];
    [super viewDidLoad];
    }

Wenn ich mein Startbild ausgewählt und zum ersten Mal gestartet habe, wird die Statusleiste über einem Bild angezeigt. Wie kann ich das verbergen? 

58
user1680822

Fügen Sie Ihrem View-Controller den folgenden Code hinzu:

if ([self respondsToSelector:@selector(setNeedsStatusBarAppearanceUpdate)]) {
    // iOS 7
    [self performSelector:@selector(setNeedsStatusBarAppearanceUpdate)];
} else {
    // iOS 6
    [[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationSlide];
}

- (BOOL)prefersStatusBarHidden {
    return YES;
}
79
Hardik Darji

Sie müssen diesen Code in Ihrer AppDelegate-Datei hinzufügen, nicht in Ihrem Root View Controller

Oder fügen Sie die Eigenschaft Statusleiste ist zunächst ausgeblendet in Ihre Plist-Datei ein

enter image description here

Folks in iOS 7+

bitte fügen Sie dies Ihrer info.plist-Datei hinzu. Es macht den Unterschied :)

UIStatusBarHidden UIViewControllerBasedStatusBarAppearance

enter image description here

Für iOS 11.4+ und Xcode 9.4 + 

Verwenden Sie diesen Code entweder in einem oder allen Ihren View-Controllern

Überschreiben Sie var prefersStatusBarHidden: Bool { wahr zurückgeben

127
Charan

Was mir geholfen hat, ist das (Ändern der Plist-Datei):

  1. set Statusleiste ist anfangs ausgeblendet = YES  
  2. zeile hinzufügen: Ansicht der Controller-basierten Statusleiste = NO

Hide StatusBar - plist settings

62
Arkady

Fügen Sie diesen Code in Ihren View-Controller ein, in dem Sie die Statusleiste ausblenden:

- (BOOL)prefersStatusBarHidden {return YES;}
40

In iOS 7 hängt die Darstellung der Statusleiste standardmäßig von UIViewController ab. Um die Statusleiste global auszublenden, verwenden Sie in info.plist den Wert NO für den Schlüssel UIViewControllerBasedStatusBarAppearance und die UIApplication-Methode von setStatusBarHidden mit dem Wert YESBOOL.

12
Alex Markman

fügen Sie diesen Schlüssel aus der Dropdown-Liste in "info.plist" hinzu und sehen Sie die obere Leiste mit Elementen wie GSM, WLAN-Symbol usw. nicht mehr.
enter image description here

11
Kursat Turkay

Ich unterstütze iOS 5, 6 und 7. Meine App ist nur iPad. Ich musste all das Folgende verwenden:

[[UIApplication sharedApplication] setStatusBarHidden:YES];

Controller anzeigen:

- (BOOL)prefersStatusBarHidden{ return YES; }

Info.plist

    <key>UIStatusBarHidden</key>
    <string>YES</string>

    <key>UIStatusBarHidden~ipad</key>
    <true/>

    <key>UIViewControllerBasedStatusBarAppearance</key>
    <string>NO</string>
1
BuvinJ

Es arbeitet für mich,

Bitte fügen Sie folgenden Code in die Datei info.plist ein

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

Ich hoffe, das ist Arbeit für jemanden.

1
Jaywant Khedkar

Im info.plist

View controller-based status bar appearance NO
Status bar is initially hidden YES

Im view controller.m

- (BOOL) prefersStatusBarHidden
{
    return YES;
}
1
jeet.chanchawat

Ich hatte das gleiche Problem, aber es ist eine einfache Lösung! Einfach eingestellt 

status bar is initially hidden = YES

fügen Sie dann eine Zeile hinzu, indem Sie auf das Pluszeichen rechts neben dem Text status bar is initially hidden klicken

view controller-based status bar appearance

klicken Sie auf die Pfeile und setzen Sie sie auf NO.

Hoffe das hilft!

0
JELLYFUN
-(void) viewWillAppear:(BOOL)animated
{
     [[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationSlide];
}
0
Gaurav Gilani

Eine Komplettlösung in Swift in Ihrem View-Controller

// you can use your own logic to determine if you need to hide status bar
// I just put a var here for now
var hideStatusBar = false
override func preferStatusBarHidden() -> Bool {
    return hideStatus
}


// in other method to manually toggle status bar
func updateUI() {
    hideStatusBar = true
    // call this method to update status bar
    prefersStatusBarHidden()
}
0
codingrhythm

Aktivieren Sie einfach das Kontrollkästchen "Ziele/Übersicht iPad-Bereitstellungsinformationen", und die Statusleiste wird ausgeblendet ... __ Es funktioniert in meinen Apps.

0
Marc Millet

Verwenden Sie eines der beiden folgenden Verfahren, um die Statusleiste für jeden einzelnen View-Controller programmatisch auszublenden:

Verfahren 1:

[[UIApplication sharedApplication] setStatusBarHidden: YES withAnimation: UIStatusBarAnimationNone];

Verfahren 2:

- (BOOL) bevorzugtStatusBarHidden {

       return YES;

}

Um die Statusleiste für die gesamte Anwendung auszublenden, gehen Sie wie folgt vor:

Sie sollten diesen Wert zu plist hinzufügen: "Controller-basierte Statusleiste anzeigen" und auf "NO" setzen.

Klicken Sie hier, um den Screenshot anzuzeigen

0
KSR

Die einfachste Möglichkeit, dies zu tun, besteht darin, die folgende Datei in die .m-Datei einzugeben.

- (BOOL) prefersStatusBarHidden
{
    return YES;
}

Das sollte funktionieren!

0
Trent