Ich erstelle eine Anwendung und möchte, dass die Statusleiste ausgeblendet wird. Wenn ich die App teste, wird die Statusleiste ausgeblendet, während der Begrüßungsbildschirm angezeigt wird. Sobald die App vollständig geladen ist, wird die Statusleiste erneut angezeigt.
Ich verwende Xcode 5 und iOS 7 und habe versucht, die Statusleiste programmgesteuert zu deaktivieren
([[UIApplication sharedApplication] setStatusBarHidden:YES
withAnimation:UIStatusBarAnimationFade];),
in der Datei info.plist und mit dem Attributinspektor in der .xib-Datei. Nichts scheint zu funktionieren.
Irgendwelche Ideen?
[self setNeedsStatusBarAppearanceUpdate];
Methode nach dem Aufrufen dieser Methode mit einem anderen Wert als dem Standardwert aufrufen (der Standardwert ist NO).Sie sollten diesen Wert zu plist hinzufügen: " Anzeige der Controller-basierten Statusleiste anzeigen " und auf " NEIN " setzen " setzen.
Auf diese Weise können Sie die Statusleiste in den versteckten Modus versetzen . Dies setzt es im Gegensatz zu anderen bereitgestellten Antworten auf ein globales Niveau.
UPDATE: Wenn Sie möchten, dass die Statusleiste auf dem Begrüßungsbildschirm ausgeblendet wird, vergessen Sie nicht, in den Optionen der Zielstatusleiste " Während des Anwendungsstarts ausblenden " zu markieren . Sie können auch " Statusleiste ist anfangs ausgeblendet " zu " JA " auf der Liste hinzufügen, wenn Sie dies nicht mit Code in der App tun möchten.
quelle
Der von Ihnen veröffentlichte Code funktioniert für iOS 6.1 und niedriger. Für iOS 7 hat Apple neue Methoden zur Verfügung gestellt, mit denen die Statusleiste für jede Ansicht direkt gesteuert werden kann. Wenn Sie diese Option in Ihrer Info.plist deaktivieren , können Sie die Statusleiste zumindest für die aktuelle Entwicklervorschau ausblenden (4).
Weitere Informationen finden Sie im iOS 7-Übergangshandbuch, das auf dem Entwicklerportal von Apple verfügbar ist.
quelle
Nun, ich versuche, die Statusleiste in meiner gesamten App und in der "app" -info.plist auszublenden und füge zwei Zeilen im Wörterbuch "Information Property List" hinzu. Ich füge "View controller-based status bar display" hinzu. set NO and in Statusleiste ist zunächst ausgeblendet "JA setzen und bei mir funktioniert n_n '
quelle
Wenn Sie jedoch UIImagePicker verwenden, wird die Statusleiste erneut angezeigt.
In diesem Fall sollten Sie die Statusleiste wie folgt ausblenden:
quelle
setNeedsStatusBarAppearanceUpdate
?Nach langem Suchen habe ich endlich eine sehr einfache Lösung gefunden, die sich auch um das kümmert
UIImagePickerController
Problem .Setzen Sie, wie in den anderen Antworten erwähnt, Ihre Statusleiste in AppDelegate didFinishLaunching ein und setzen Sie das "Erscheinungsbild der Controller-basierten Statusleiste anzeigen" auf NO.
Dann in Ihrem AppDelegate:
et voila - Ihre Statusleiste bleibt auch dann ausgeblendet, wenn der UIImagePickerController an erster Stelle steht.
Dies ist besser, als es jedes Mal neu zu erstellen, wenn Sie einen UIImagePickerController präsentieren, da er in der gesamten App verborgen bleibt.
quelle
Fügen Sie einfach Folgendes hinzu, um die Statusleiste auf einem bestimmten UIViewController auszublenden:
Hoffe das hilft !
quelle
Sie können sich vor der Projektzusammenfassung verstecken. Während des Starts wird ein Kontrollkästchen ausgeblendet.
Siehe den Schnappschuss
quelle
Ich habe diese Lösung für mich gefunden. Es wirkt wie ein Zauber. Schreiben Sie diesen Code auf Ihren Viewcontroller, auf dem Sie UIImagePickerController verwenden möchten.
quelle
Stellen Sie sicher, dass Sie zusätzlich zu der Antwort von oben allein die imagePickerControllerDidCancel-Methode implementieren und dort denselben Code hinzufügen.
quelle
Ich hatte auch Probleme mit UIImagePicker. Ähnlich wie bei Alones Antwort war meine Lösung die folgende. Ich habe diese Zeile oder diesen Code hinzugefügt:
zu dieser Funktion:
Ich habe dies nicht mit iOS 6 oder älter getestet, aber es funktioniert hervorragend in iOS 7.
quelle
Fügen Sie dies einfach Ihren View Controllern hinzu:
quelle
Ich verwende Xcode 6, diese Lösung funktioniert für mich unter iOS 7 und 8:
Setzen Sie zunächst in der Plist-Datei "Erscheinungsbild der Controller-basierten Statusleiste anzeigen" auf "NEIN".
Zweitens fügen Sie in AppDelegate Folgendes hinzu:
quelle
Mein Problem war, dass ich View Controller Containment verwendet habe. Nur der oberste Ansichtscontroller, der beispielsweise in einen Navigationscontroller eingebettet ist, kann die Statusleiste ausblenden oder anzeigen.
quelle