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 hidden
ustawioną 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:withAnimation
oczekuje definicji typu NSInteger UIStatusBarAnimation
dla drugiego argumentu, a nie typu BOOL. Zamiast tego NO
uż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/>