W mojej aplikacji wideo na iOS pasek stanu jest ukryty w niektórych kontrolerach widoku. Zrobiłem to za pomocą następującego kodu.
[[UIApplication sharedApplication] setStatusBarHidden:YES];
Działa na iOS 5 i iOS 6, ale nie na iOS 7.
Próbowałem z tym w szczególności kontrolerem widoku,
Na przykład:
-(BOOL)prefersStatusBarHidden { return YES; }
Działa dobrze, ale nie mogę ponownie wyświetlić paska stanu w kontrolerze nadrzędnym.
Odpowiedzi:
Należy dodać tę wartość do listy: „ Wyświetl wygląd paska stanu opartego na kontrolerze ” i ustaw ją na „ NIE ”.
źródło
UIViewControllerBasedStatusBarAppearance
"View controller-based status bar appearance" set it to "YES".
?Dodaj następujące informacje do swojej Info.plist:
źródło
Dodaj następujący wiersz w viewdidload
i dodaj nową metodę
zmień także plik info.plist Wyświetl wygląd paska stanu na kontrolerze "= NIE
to działa dla mnie
źródło
prefersStatusBarHidden
jest to, co zrobiło dla mnie lewę (czy to z tym rozwiązaniem z innymi podobnymi)W Plist dodaj następujące właściwości.
teraz pasek stanu zostanie ukryty.
źródło
Wypróbuj tę prostą metodę:
Cel C:
Szybki:
źródło
UIStatusBarAnimation
s, są całkiem świetne.[super viewWillAppear:animated]
i[super viewWillDisappear:animated]
Zrobiłem następujące i wydaje się, że działa (nawet w iOS 8):
źródło
Ale staje się bardziej interesujący, gdy zaangażowany jest UINavigationController:
źródło
Aby ukryć pasek stanu w iOS7, potrzebujesz 2 linii kodu
w aplikacji: (UIApplication *) aplikacja didFinishLaunchingWithOptions: (NSDictionary *) launchOptions zapis
w info.plist dodaj to
źródło
Dla lepszego zrozumienia dodaj kilka zdjęć z komentarzami:
Aplikacja przed wszelkimi zmianami
Znaleziono w
Project Navigator
folderze o nazwieSupporting Files
i kliknij plik * .plistGdy pojawi się inne ustawienie wyświetlanej aplikacji. Musisz dodać 2 klucze
UIStatusBarHidden
iUIViewControllerBasedStatusBarAppearance
. Możesz to zrobić po prostu klikając przycisk +Po naciśnięciu + możesz wybrać jeden z klawiszy - po prostu zacznij pisać.
Prawidłowa wersja:
I wreszcie aplikacja po zastosowaniu tych zmian:
Możesz również znaleźć alternatywne rozwiązanie tutaj
źródło
W iOS10 wszystko, co musiałem zrobić, to zastąpić
prefersStatusBarHidden
var w moimRootViewController
(Swift):źródło
Spróbuj tego;
źródło
Aby ukryć pasek stanu w iOS7:
Otwórz plik plist, a następnie dodaj wiersz o nazwie „Wyświetl pasek stanu oparty na kontrolerze” i ustaw jego wartość na
NO
.źródło
Oto wersja Swift (wcześniejsza wersja iOS9):
Działa to również (iOS7 +):
Musisz także zadzwonić:
powiedzmy
viewDidLoad()
.Pamiętaj, że jeśli używasz kontrolera SplitView lub innego
container
kontrolera widoku, musisz również zwrócić mu klasę po wysłaniuchildViewControllerForStatusBarHidden
. Jednym ze sposobów, aby to zrobić, jest publicznie słaby var, powiedzmystatusController
, i zwrócenie go w tej przesłoniętej metodzie.źródło
iOS 9 i nowsze:
Jako
statusBarHidden
metodę Przestarzałe od iOS9 trzeba dodać dwie wartości w plist jak poniżej:lub przez interfejs użytkownika Proszę odnieść się poniżej obraz:
Jak
statusBarHidden
jest Przestarzałe od iOS9 :źródło
NAPRAWIONE ROZWIĄZANIE DLA SWIFT 3+ (iOS 9, 10)
1- W info.plist ustaw poniżej właściwości
2- Wklej poniższy kod do kontrolera root, aby
Możesz zadzwonić
isStatusBarHidden = true
iisStatusBarHidden = false
wybraćhide/show
pasek stanuźródło
Należy dodać tę wartość do listy: „Wyświetl wygląd paska stanu opartego na kontrolerze” i ustaw ją na „NIE”.
źródło
Kroki dla ukrywania paska stanu w iOS
1. otwórz plik AppDelegate.m , dodaj application.statusBarHidden w metodzie didFinishLaunchingWithOptions
View controller-based status bar appearance
zestawNO
źródło
Szybki 5
Wykonaj następujące kroki, aby ukryć pasek stanu systemu iOS:
Zrzut ekranu ustawień końcowych:
Działa to na Xcode 10.2
źródło
Od
UIKit
>UIApplication.h
:Więc powinno być ustawione
View controller-based status bar appearance
na NIEźródło
Aby odpowiedzieć na pytanie Susitha: użyj setNeedsStatusBarAppearanceUpdate . Spowoduje to wywołanie funkcji prefersStatusBarHidden w celu odświeżenia z żądanym stanem paska stanu. Spróbuj tego:
Jeśli chcesz ponownie zobaczyć pasek stanu, ustaw właściwość hideStatusBar (lub jakkolwiek to nazwiesz) na NIE. Zadzwoń preferStatusBarHidden pośrednio, wykonując kolejne połączenie z
źródło
Aktualizacja dla Swift 3:
Zaktualizuj Info.plist o następujące informacje:
View controller-based status bar appearance: NO
Następnie w ViewController lub w innym miejscu:
UIApplication.shared.isStatusBarHidden = true
źródło