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?
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:
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 .
[[UIApplication sharedApplication] setStatusBarHidden:NO];włączyć - application: didFinishLaunchingWithOptions:
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.
[[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:withAnimationoczekuje definicji typu NSInteger UIStatusBarAnimationdla drugiego argumentu, a nie typu BOOL. Zamiast tego NOużyjUIStatusBarAnimationNone
Widok -> Typ listy właściwości -> iPhone Info.plist. Teraz utwórz nowy element z zaznaczoną opcją „Pasek stanu jest początkowo ukryty”.
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ę.
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.
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.

jest przestarzałe
setStatusBarHidden:(BOOL) animated:(BOOL)
jest poprawne
setStatusBarHidden:(BOOL) withAnimation:(UIStatusBarAnimation)
UIStatusBarAnimation, która może być:
UIStatusBarAnimationNone lub UIStatusBarAnimationFade lub UIStatusBarAnimationSlide
To zadziałało dla mnie w info.plist:
"View controller-based status bar appearance" -> set to NO
W przypadku edytorów XML ~ dodaj do pierwszego elementu podrzędnego
<key>UIStatusBarHidden</key>
<true/>