Ich habe gerade mein iPhone 5 iOS 7 auf vier Beta-Versionen aktualisiert. Wenn ich jetzt meine App von Xcode 5 auf diesem iPhone aus starte, wird die Statusleiste nicht ausgeblendet, obwohl dies der Fall sein sollte.
Funktioniert nicht:
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationFade];
Funktioniert nicht:
[UIApplication sharedApplication].statusBarHidden = YES;
Ich kann mich nicht in Apple Developer Forums anmelden
objective-c
statusbar
ios7
Melih Büyükbayram
quelle
quelle
Antworten:
Fügen Sie in der Plist-Datei Ihrer Apps eine Zeile hinzu, die als "Controller-basiertes Erscheinungsbild der Statusleiste anzeigen" bezeichnet wird, und setzen Sie sie auf "NEIN"
Beachten Sie, dass dies einfach nicht funktioniert, wenn Sie UIImagePickerController in der App verwenden.
von http://www.openfl.org/developer/forums/general-discussion/iphone-5ios-7-cant-hide-status-bar/ , der Lösung von mgiroux
quelle
UIViewControllerBasedStatusBarAppearance
.Status bar is initially hidden
auf JA setzen .Fügen Sie eine Methode in Ihrem View Controller hinzu.
quelle
prefersStatusBarHidden
in einer Ansichtssteuerung true zurückgeben , funktioniert dies nicht. Die Statusleiste wird weiterhin angezeigt.Fügen Sie in der Liste die folgenden Eigenschaften hinzu.
->
Status bar is initially hidden
= JA->
View controller-based status bar appearance
= NEINFügen Sie beide hinzu - jetzt verschwindet die Statusleiste.
quelle
Um die Statusleiste in einer Einzelansicht auszublenden, sollten Sie Folgendes verwenden:
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationSlide];
Zuerst hat dies bei mir nicht funktioniert, und dann hat eine Säge in der Dokumentation dieser Methode Folgendes angegeben: // Das Festlegen von statusBarHidden führt zu nichts, wenn Ihre Anwendung das standardmäßige UIViewController-basierte Statusleistensystem verwendet.
Dies muss in der plist-Datei erfolgen, wobei der Schlüsselsatz
View controller-based status bar appearance
zu hinzugefügt wirdNO
. Und dann hat es funktioniert.quelle
Um die alte UIApplication-Methode zum Ausblenden / Anzeigen der Statusleiste zu verwenden, muss Ihre App einen Plist-Wert für iOS 7 festlegen:
View-Controller Based Status Bar Appearance = NO
Dieser Wert ist standardmäßig auf YES gesetzt. Wenn Sie es in NO ändern, können Sie die Legacy-Methoden verwenden. Wenn Sie YES beibehalten, können Sie die Statusleiste weiterhin ausblenden. Es liegt jedoch an jeder View Controller-Unterklasse in Ihrer App, diese zu überschreiben:
prefersStatusBarHidden
YES zurückzugeben.Jedes Mal, wenn Ihre App das Erscheinungsbild oder die Sichtbarkeit der Statusleiste zum Ändern benötigt und das Erscheinungsbild der View-Controller-basierten Statusleiste auf JA gesetzt ist, muss Ihr äußerster View Controller Folgendes aufrufen:
setNeedsStatusBarAppearanceUpdateAnimation
quelle
Um die Statusleiste in iOS7 auszublenden, benötigen Sie 2 Codezeilen
Anwendung:
(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
schreibenin info.plist füge dies hinzu
quelle
[application setStatusBarHidden:YES];
oderapplication.statusBarHidden = YES;
Es werden so viele Kombinationen für dieses Problem vorgeschlagen, aber das Problem ist, dass iOS 6 und 7 unterschiedliche Methoden verwenden, um die Statusleiste auszublenden. Ich habe die Plist-Einstellungen noch nie erfolgreich festgelegt, um das Verhalten im iOS6-Stil unter iOS 7 zu aktivieren. Wenn Sie jedoch Ihre App für die Unterstützung von iOS 6+ erstellen, müssen Sie drei Methoden gleichzeitig verwenden, um sicherzustellen, dass ein bestimmter Ansichts-Controller den Status verbirgt Bar:
Dies sollte unabhängig von Ihren Plist-Einstellungen funktionieren.
quelle
Ich musste beide Änderungen unten vornehmen, um die Statusleiste auszublenden:
Fügen Sie diesen Code dem Ansichts-Controller hinzu, in dem Sie die Statusleiste ausblenden möchten:
Fügen Sie dies Ihrer .plist-Datei hinzu (gehen Sie in Ihren Anwendungseinstellungen zu 'info').
Dann können Sie diese Zeile aufrufen, um die Statusleiste auszublenden:
quelle
Fügen Sie einfach diese 2 Zeilen in die Datei info.plist ein. Es wird das Update für iOS7 und ältere Versionen sowohl machen.
Navigieren Sie zum Projekt und wählen Sie Ziele -> Allgemein. Das Kontrollkästchen "Statusleistenstil ... Während des Anwendungsstarts ausblenden" wird aktiviert. Das wird funktionieren.
quelle
Versuchen Sie diese einfache Methode:
quelle
Das einzige, was für mich funktioniert hat, ist, Folgendes in Ihre Liste aufzunehmen
quelle
Die einfachste Methode , die ich für das Ausblenden der Statusleiste in der gesamten App gefunden haben , ist durch eine Erstellung
category
aufUIViewController
und überschreibenprefersStatusBarHidden
. Auf diese Weise müssen Sie diese Methode nicht in jeden einzelnen View-Controller schreiben.UIViewController + HideStatusBar.h
UIViewController + HideStatusBar.m
quelle
In der Liste hinzufügen ----
Anzeigen der Controller-basierten Statusleiste --- NEIN
In jeden viewController schreiben
Bei Statusleistenproblemen in iOS 7 sollte das Ziel für die App jedoch 5.1 und höher sein
quelle
Viele der Antworten in diesem Thread funktionieren, aber ich verstehe, wenn Sie versuchen, etwas Dynamisches zu tun, müssen Sie eventuell Folgendes aufrufen:
quelle
Schritte zum Ausblenden der Statusleiste in iOS 7:
1.Gehen Sie zu Ihrer Anwendungsinfo.plist-Datei.
2.Und Set, View Controller-basiertes Statusleisten-Erscheinungsbild: Boolean NO
Hoffe, ich habe das Problem mit der Statusleiste gelöst .....
quelle
Verwenden Sie für iOS 7 in einer einzelnen Ansicht die Methode viewWillappear:
Zur Anzeige der Statusleiste verwenden Sie:
quelle
quelle
In der Info Plist-Datei Fügen Sie eine Zeile für die folgende Eigenschaft hinzu
Eigenschaftsname: Anzeigen der Controller-basierten Statusleiste
Wert: NEIN
quelle
Versuchen Sie, dem Root View Controller Ihrer App die folgende Methode hinzuzufügen:
quelle
Ich habe alle diese Optionen ausprobiert, die hier in meinem Projekt veröffentlicht wurden, und sie würden nicht funktionieren. Ich dachte, es könnte damit zusammenhängen, dass ich meine
Xcode
und dann die App auf iOS 7 aktualisiert hatte und einige Einstellungen irgendwo durcheinander geraten waren. Ich entschied mich, ein komplett neues Projekt dafür zu erstellen und nach einfachem Setzen von "Status bar is initially hidden = YES
" und "View controller-based status bar appearance = NO
", wie von vielen anderen angegeben, funktionierte es korrekt (dh keine Statusleiste).Wenn Sie also an einem Projekt arbeiten, das von einer alten Version auf iOS 7 aktualisiert wurde und alle anderen Optionen ausprobiert hat, sollten Sie ein neues Projekt erstellen.
quelle
Für 2019 ...
Um eine App ohne Statusleisten zu erstellen,
Klicken Sie auf info.plist und klicken Sie mit der rechten Maustaste auf "Zeile hinzufügen".
Fügen Sie diese beiden mit diesen Einstellungen hinzu:
Das ist alles dazu.
quelle
Sie können diesen Code überprüfen , pod UIViewController + ODStatusBar
quelle
Für Swift 2.0+ IOS 9
quelle
So blenden Sie die Statusleiste für einen bestimmten viewController aus
Zum Einstellen der Statusleiste Für die Anwendung ausgeblendet:
Satz
View controller-based status bar appearance
anNO
in .plist und in derapplication: didFinishLaunchingWithOptions:
Serie:[application setStatusBarHidden:YES];
ODER
in Projekteinstellungen -> Registerkarte Allgemein -> Bereitstellungsinformationen
Kontrollkästchen
Hide Status bar
.quelle
quelle
Ich bin mir nicht sicher, warum Sie sich "nicht in den Apple Developer Forums anmelden können", aber (ohne die NDA zu verletzen) können Sie Ihre statusBar auch über Xcode ausblenden. Dies ist eine allgemeine Einstellung für Ihr Anwendungsziel.
quelle