jak ukryć pasek stanu, gdy ekran powitalny pojawia się w telefonie iPhone?


85

Czy istnieje sposób na ukrycie paska stanu podczas wyświetlania ekranu powitalnego w telefonie iPhone, a następnie ponowne wyświetlenie go w aplikacji?

Odpowiedzi:


191

Jestem prawie pewien, że jeśli twój plik Info.plist ma Status bar is initially hiddenustawioną wartość YES, to nie będzie on wyświetlany podczas ładowania aplikacji. Po załadowaniu aplikacji możesz ponownie wyświetlić pasek stanu za pomocą setStatusBarHidden:animated:metody UIApplication .


1
nie ma takiej opcji w info.plist. jest sposób na ręczne dodanie
Rahul Vyas

3
@Rahul wybierz ostatnią linię w pliku, a następnie kliknij przycisk plus na prawym końcu linii. Następnie wpisz to w sobie.
Dave DeLong,

2
Metodą ponownego pokazania paska stanu jest teraz setStatusBarHidden: withAnimation:
SargeATM

2
Jeśli chcesz dodać go ręcznie, możesz edytować plik plist w edytorze tekstu, takim jak BBEdit, i dodać linie: <key> UIStatusBarHidden </key> <true /> tuż nad linią </dict>. Lub w Xcode kliknij prawym przyciskiem myszy plik plist i wybierz Otwórz jako ... Kod źródłowy i edytuj go jako tekst.
JScarry,

9
„Po załadowaniu aplikacji możesz ponownie wyświetlić pasek stanu” Aby wyjaśnić, czy ktoś jest zdezorientowany, można bezpiecznie [[UIApplication sharedApplication] setStatusBarHidden:NO];włączyć - application: didFinishLaunchingWithOptions:
Ryan Romanchuk

48

Prawidłowy klucz w .plist to „UIStatusBarHidden” i zaznacz go po prawej stronie. Stanie się „Pasek stanu jest początkowo ukryty”, a następnie automatycznie. W mojej praktyce możesz kontrolować wyświetlanie / ukrywanie paska StatusBar w dowolnym miejscu, gdy hide:

[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:NO];
[UIApplication sharedApplication].keyWindow.frame=CGRectMake(0, 0, 320, 480); //full screen.

kiedy pokaz:

[[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:NO];
[UIApplication sharedApplication].keyWindow.frame=CGRectMake(0, 20, 320, 460); //move down 20px.

mam nadzieję, że to było dla ciebie pomocne.


Aby dynamicznie ustawić rozmiar CGRectMake na dowolny typ iPhone'a: [[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);
reinaldoluckman

UIApplication setStatusBarHidden:withAnimationoczekuje definicji typu NSInteger UIStatusBarAnimationdla drugiego argumentu, a nie typu BOOL. Zamiast tego NOużyjUIStatusBarAnimationNone
użytkownik

23

Widok -> Typ listy właściwości -> iPhone Info.plist. Teraz utwórz nowy element z zaznaczoną opcją „Pasek stanu jest początkowo ukryty”.


6

Idąc za odpowiedzią Dave'a, klucz „Pasek stanu jest początkowo ukryty” nie działał dla mnie pod iOS 4.3, ALE klucz „UIStatusBarHidden”, a następnie ustawienie jego typu na Boolean i zaznaczenie pola załatwiło sprawę.

http://developer.apple.com/library/ios/#documentation/general/Reference/InfoPlistKeyReference/Articles/AboutInformationPropertyListFiles.html#//apple_ref/doc/uid/TP40009254-SW4

Ten artykuł deweloperów pozwolił mi na dostęp do kluczy Info.plist, a następnie wypracowanie odpowiedniego klucza do ukrycia nie było zbyt trudne.

Co ciekawe, „UIStatusBarStyle” musi używać nazwy wyliczenia jako łańcucha, aby działało.


6

W przypadku Xcode 5 i nowszych możesz po prostu ustawić:

Wyświetl wygląd paska stanu opartego na kontrolerze na NIE

W swoim info.plist lub na karcie informacji w głównym projekcie.

Przykład ustawień informacji w xcode


3

zapisz tę 1 linię w swojej głównej metodzie .m viewDidload

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

lub wybierz plik info.plist z folderu plików pomocniczych projektu w obszarze roboczym

ustaw statusbarinitialyhidden na TAK


2

jest przestarzałe

setStatusBarHidden:(BOOL) animated:(BOOL) 

jest poprawne

setStatusBarHidden:(BOOL) withAnimation:(UIStatusBarAnimation)

UIStatusBarAnimation, która może być:

UIStatusBarAnimationNone lub UIStatusBarAnimationFade lub UIStatusBarAnimationSlide


1

To zadziałało dla mnie w info.plist:

"View controller-based status bar appearance"  -> set to NO

1

Dodaj Status bar is initially hiddendo YESw info.plistpliku. To zadziałało dla mnie.

pasek stanu ukryty


0

W przypadku edytorów XML ~ dodaj do pierwszego elementu podrzędnego

<key>UIStatusBarHidden</key>
<true/>
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.