Gibt es eine Möglichkeit, die Statusleiste auszublenden, wenn der Begrüßungsbildschirm auf dem iPhone angezeigt und dann in der Anwendung erneut angezeigt wird?
Gibt es eine Möglichkeit, die Statusleiste auszublenden, wenn der Begrüßungsbildschirm auf dem iPhone angezeigt und dann in der Anwendung erneut angezeigt wird?
Antworten:
Ich bin mir ziemlich sicher, dass Ihre Info.plist-Datei beim Laden Ihrer Anwendung nicht angezeigt wird, wenn sie auf den Status bar is initially hidden
Wert gesetzt YES
ist. Sobald Ihre Anwendung geladen wurde, können Sie die Statusleiste mithilfe der UIApplication- setStatusBarHidden:animated:
Methode erneut anzeigen .
[[UIApplication sharedApplication] setStatusBarHidden:NO];
aktivieren. - Anwendung: didFinishLaunchingWithOptions:
Der richtige Schlüssel in .plist ist "UIStatusBarHidden" und wird rechts angekreuzt. Es wird dann automatisch "Statusleiste ist anfänglich ausgeblendet". In meiner Praxis können Sie das Ein- / Ausblenden der Statusleiste überall steuern, indem Sie Folgendes ausblenden:
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:NO];
[UIApplication sharedApplication].keyWindow.frame=CGRectMake(0, 0, 320, 480); //full screen.
wenn zeigen:
[[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:NO];
[UIApplication sharedApplication].keyWindow.frame=CGRectMake(0, 20, 320, 460); //move down 20px.
Ich hoffe, das war hilfreich für Sie.
[[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:NO];
float width = ((UIScreen *)[UIScreen mainScreen]).bounds.size.width;
float height = (((UIScreen *)[UIScreen mainScreen]).bounds.size.height - 20);
[UIApplication sharedApplication].keyWindow.frame = CGRectMake(0, 20, width, height);
setStatusBarHidden:withAnimation
erwartet UIStatusBarAnimation
für das zweite Argument ein NSInteger-Typedef , kein BOOL. NO
Verwenden Sie stattdessenUIStatusBarAnimationNone
Ansicht -> Eigenschaftslistentyp -> iPhone Info.plist. Erstellen Sie jetzt ein neues Element mit aktiviertem Kontrollkästchen "Statusleiste ist anfangs ausgeblendet".
Nach Daves Antwort funktionierte der Schlüssel "Statusleiste ist anfangs ausgeblendet" unter iOS 4.3 bei mir nicht, ABER der Schlüssel "UIStatusBarHidden" und das Setzen des Typs auf Boolean und das Aktivieren des Kontrollkästchens haben den Trick getan.
Dieser Entwicklerartikel brachte mich auf die Info.plist-Schlüssel und erarbeitete dann den entsprechenden Schlüssel zum Ausblenden, es war nicht allzu schwer.
Interessanterweise muss der "UIStatusBarStyle" den Aufzählungsnamen als Zeichenfolge verwenden, damit er funktioniert.
Für Xcode 5 und höher können Sie einfach Folgendes einstellen:
Zeigen Sie das Controller-basierte Statusleisten-Erscheinungsbild auf NO an
In Ihrer info.plist oder auf der Registerkarte info in Ihrem Hauptprojekt.
Schreiben Sie diese 1 Zeile in Ihre Hauptmethode .m viewDidload
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:NO];
oder wählen Sie die Datei info.plist aus Ihrem Projektordner für unterstützende Dateien im Arbeitsbereich aus
Setzen Sie statusbarinitialyhidden auf YES
ist veraltet
setStatusBarHidden:(BOOL) animated:(BOOL)
ist das richtige
setStatusBarHidden:(BOOL) withAnimation:(UIStatusBarAnimation)
UIStatusBarAnimation, die sein kann:
UIStatusBarAnimationNone oder UIStatusBarAnimationFade oder UIStatusBarAnimationSlide
Das hat bei mir in der info.plist geklappt:
"View controller-based status bar appearance" -> set to NO
Für XML-Editoren ~ zum ersten untergeordneten Element von hinzufügen
<key>UIStatusBarHidden</key>
<true/>