Tworzę aplikację i chcę ukryć pasek stanu. Podczas testowania aplikacji pasek stanu jest ukryty, podczas gdy wyświetlany jest ekran powitalny, ale po całkowitym załadowaniu aplikacji pasek stanu pojawia się ponownie.
Używam Xcode 5 i iOS 7 i próbowałem programowo wyłączyć pasek stanu
([[UIApplication sharedApplication] setStatusBarHidden:YES
withAnimation:UIStatusBarAnimationFade];),
w pliku info.plist i za pomocą inspektora atrybutów w pliku .xib. Wydaje się, że nic nie działa.
Jakieś pomysły?
[self setNeedsStatusBarAppearanceUpdate];
tę metodę po wywołaniu tej metody z czymś innym niż wartość domyślna (wartość domyślna to NIE).Należy dodać tę wartość do plist: „ Wyświetl wygląd paska stanu na podstawie kontrolera ” i ustawić ją na „ NIE ”.
Umożliwi to ustawienie paska stanu w trybie ukrytym . To ustawia ją na globalną, w przeciwieństwie do innych podanych odpowiedzi.
AKTUALIZACJA: Jeśli chcesz, aby pasek stanu był ukryty na ekranie powitalnym, nie zapomnij zaznaczyć opcji „ Ukryj podczas uruchamiania aplikacji ” w opcjach paska stanu. Możesz również dodać na liście „ Pasek stanu jest początkowo ukryty ” do „ TAK ”, jeśli nie chcesz tego robić z kodem w aplikacji.
źródło
Opublikowany kod działa na iOS 6.1 i starszych. W systemie iOS 7 firma Apple udostępniła nowe metody bezpośredniego sterowania paskiem stanu dla każdego widoku. Wyłączenie tej opcji w Info.plist umożliwi ukrycie paska stanu, przynajmniej dla bieżącego Podglądu programisty (4).
Aby uzyskać więcej informacji, zapoznaj się z przewodnikiem przejścia na iOS 7, który jest dostępny w portalu deweloperów Apple.
źródło
cóż, próbuję ukryć pasek stanu w całej mojej aplikacji oraz w "app" -info.plist i dodaję dwa wiersze do słownika "Lista właściwości informacji" Dodam "Wyświetl wygląd paska stanu kontrolera" ustaw NIE i w " Pasek stanu jest początkowo ukryty "ustaw TAK i u mnie działa n_n '
źródło
Jeśli jednak używasz UIImagePicker, pasek stanu pojawi się ponownie.
W takim przypadku powinieneś ukryć pasek stanu jak poniżej,
źródło
setNeedsStatusBarAppearanceUpdate
?Po długich poszukiwaniach w końcu znalazłem bardzo proste rozwiązanie, które również rozwiązuje
UIImagePickerController
problem.Jak wspomniano w innych odpowiedziach, ustaw pasek stanu jako ukryty w AppDelegate didFinishLaunching i ustaw opcję „Wyświetl wygląd paska stanu na podstawie kontrolera” na NIE.
Następnie w AppDelegate:
et voila - Twój pasek stanu pozostanie ukryty, nawet jeśli UIImagePickerController jest najważniejszy.
Jest to lepsze niż „ponowne ukrywanie” go za każdym razem, gdy prezentujesz UIImagePickerController, ponieważ pozostaje on ukryty w całej aplikacji.
źródło
Aby ukryć pasek stanu na określonym kontrolerze UIViewController, po prostu dodaj to:
Mam nadzieję że to pomoże !
źródło
Możesz ukryć się w podsumowaniu projektu. podczas uruchamiania znajduje się pole wyboru ukryte.
Zobacz migawkę
źródło
Znalazłem to rozwiązanie dla siebie. To działa jak urok. Napisz ten kod na swoim viewcontroller, na którym chcesz użyć UIImagePickerController.
źródło
Oprócz odpowiedzi od alones powyżej, pamiętaj, aby zaimplementować metodę imagePickerControllerDidCancel i dodać tam ten sam kod.
źródło
Miałem również problemy z UIImagePicker. Podobnie jak w przypadku odpowiedzi Alonesa, moje rozwiązanie było następujące. Dodałem tę linię lub kod:
do tej funkcji:
Nie testowałem tego z iOS 6 lub starszym, ale działa świetnie w iOS 7.
źródło
po prostu dodaj to do swoich kontrolerów widoku:
źródło
Używam Xcode 6, to rozwiązanie działa na iOS 7 i 8 dla mnie:
Najpierw ustaw „Wyświetl wygląd paska stanu opartego na kontrolerze” na NIE w pliku plist.
Po drugie, w AppDelegate dodaj to:
źródło
Mój problem polegał na tym, że użyłem ograniczenia kontrolera widoku. Tylko najwyżej położony kontroler widoku, na przykład osadzony w kontrolerze nawigacji, może ukrywać lub wyświetlać pasek stanu.
źródło