În iOS app video bara de stare este ascuns în vedere unele controlere. Am făcut acest lucru, folosind următorul cod.
[[UIApplication sharedApplication] setStatusBarHidden:YES];
Funcționează pentru iOS 5 și iOS 6 , dar nu în iOS 7.
Am încercat cu acest lucru, în special, view controller,
De exemplu:
-(BOOL)prefersStatusBarHidden { return YES; }
Aceasta funcționează bine, dar nu pot afișa bara de stare din nou în părinte view controller.
Adăugați următoarea linie în viewdidload
[[UIApplication sharedApplication] setStatusBarHidden:YES
withAnimation:UIStatusBarAnimationFade];
și adaugă nouă metodă
- (BOOL)prefersStatusBarHidden {
return YES;
}
schimba, de asemenea, informații.plist View controller bazat pe bara de stare aspectul" = NU
lucrările sale pentru mine
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated]
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationNone];
}
- (void)viewWillDisappear:(BOOL)animated
{
[super viewWillDisappear:animated]
[[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:UIStatusBarAnimationNone];
}
override func viewWillAppear(animated: Bool)
{
super.viewWillAppear(animated)
UIApplication.sharedApplication().setStatusBarHidden(true, withAnimation: UIStatusBarAnimation.None)
}
override func viewWillDisappear(animated: Bool)
{
super.viewWillDisappear(animated)
UIApplication.sharedApplication().setStatusBarHidden(false, withAnimation: UIStatusBarAnimation.None)
}
Am făcut următoarea și se pare la locul de muncă (chiar și în iOS 8):
- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated
{
if ([self respondsToSelector:@selector(setNeedsStatusBarAppearanceUpdate)]) {
[[UIApplication sharedApplication] setStatusBarHidden:YES];
}
}
- (BOOL)prefersStatusBarHidden {
return YES;
}
Dar devine mai interesant atunci când nu's o UINavigationController implicate:
Pentru a ascunde bara de stare în iOS7 ai nevoie de 2 linii de cod
[[UIApplication sharedApplication] setStatusBarHidden:DA];
View-Controller Bazat pe Bara de Stare Aspectul = NU
Pentru o mai bună înțelegere a adăuga unele fotografii cu comentarii:
App înainte de orice modificări
Găsit în Proiect Navigatorfolder numit
de Sprijin, Fișiere și faceți clic pe *.plist
După ce va obține diferite setarea app arătat. Trebuie să adăugați 2 chei UIStatusBarHidden " și " UIViewControllerBasedStatusBarAppearance
. Puteți face acest lucru pur și simplu faceți clic pe butonul +
După apăsarea + puteți alege una din cheie - doar începeți să tastați.
Versiune corectă:
Și în cele din urmă aplicația după aplicarea acestei modificări:
De asemenea, puteți găsi o soluție alternativă aici
Aici este Rapidă versiune (pre iOS9):
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
UIApplication.sharedApplication().setStatusBarHidden(true, withAnimation: UIStatusBarAnimation.None)
}
override func viewWillDisappear(animated: Bool) {
super.viewWillDisappear(animated)
UIApplication.sharedApplication().setStatusBarHidden(false, withAnimation: UIStatusBarAnimation.None)
}
Acest lucru, de asemenea, funcționează (iOS7+):
override func prefersStatusBarHidden() -> Bool {
return true
}
De asemenea, trebuie să sunați la:
setNeedsStatusBarAppearanceUpdate()
în viewDidLoad()
.
Rețineți că, dacă utilizați un SplitView controller, sau alte "container" view controller, ai nevoie de asemenea să se întoarcă clasa ta atunci când a trimis childViewControllerForStatusBarHidden. O modalitate de a face acest lucru este de a avea un public slab var pentru a spune
statusController`, și să se întoarcă în acest suprascrisă metoda.
Pași pentru a ascunde bara de stare în iOS
View controller bazat pe bara de stare aspectul " set " NU
iOS 9 începând cu :
Ca statusBarHidden
metoda a fost Depreciat la iOS9 aveți nevoie pentru a adăuga două valori în plist ca mai jos :
<key>UIStatusBarHidden</key>
<true/>
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>
sau de Interfață de Utilizator vă Rugăm să refre imaginea de mai jos :
Ca statusBarHidden
este Depreciat la iOS9 :
@proprietate(readwrite, nonatomic,getter=isStatusBarHidden) BOOL statusBarHidden NS_DEPRECIAT_IOS(2_0, 9_0, "Utilizați -[UIViewController prefersStatusBarHidden]") __TVOS_INTERZISE;
FIX SOLUȚIE PENTRU SWIFT 3+ (iOS 9, 10)
1 - In info.plist stabilit mai jos de proprietate
2 Inserați codul de mai jos la Rădăcină controller , Pentru a
private var isStatusBarHidden = true {
didSet {
setNeedsStatusBarAppearanceUpdate()
}
}
override var prefersStatusBarHidden: Bool {
return isStatusBarHidden
}
Puteți apela isStatusBarHidden = true " și " isStatusBarHidden = false
în cazul în care doriți pentru a ascunde/arată bara de stare
Swift 5
Utilizați următorii pași pentru a ascunde iOS Bara de Stare:
Final Setări Captură De Ecran:
Acest lucru este de lucru pe Xcode 10.2
Din UIKit "> " UIApplication.h
:
// Setting statusBarHidden does nothing if your application is using the default UIViewController-based status bar system.
@property(nonatomic,getter=isStatusBarHidden) BOOL statusBarHidden;
- (void)setStatusBarHidden:(BOOL)hidden withAnimation:(UIStatusBarAnimation)animation NS_AVAILABLE_IOS(3_2);
Deci, ar trebui să setați `View controller bazat pe bara de stare aspectul să NU
Pentru a răspunde la Susitha's întrebare: utilizat setNeedsStatusBarAppearanceUpdate. Acest lucru va face un apel la prefersStatusBarHidden pentru a reîmprospăta dorit de stare bara de stare. Încercați acest lucru:
@property (nonatomic, getter=isHideStatusBar) BOOL hideStatusBar; // Give this a default value early
- (BOOL)prefersStatusBarHidden {
return self.isHideStatusBar;
}
- (void)someMethod {
// triggered by an event or user action
[self setHideStatusBar:YES];
[self setNeedsStatusBarAppearanceUpdate];
}
Dacă doriți să vedeți bara de stare din nou, setați proprietatea hideStatusBar (sau cum se numesc) la NR. Apel preferStatusBarHidden indirect de a face un alt apel la
[self setNeedsStatusBarAppearanceUpdate]