Wie blende ich die Statusleiste programmatisch in iOS 7?
In ios7wie kann ich ausblenden, das statusbar programmgesteuert? Ich bin mit XCode 4.6.1 (ios6.1) und ich möchte, um dies zu implementieren, in XCode selbst.
können Sie die Statusleiste ausblenden, um setzen Sie den Schlüssel mit dem Wert "View controller-based status bar appearance" NICHT in der plist. Dies ist einfachste Art und Weise.
oder Sie verstecken sich im code mithilfe der Eigenschaft statusBarHidden der UIApplication-Klasse.
Wenn Sie brauchen, um zu verbergen/zeigen Sie es auf einem gegebenen view-controller dynamisch, können Sie so etwas tun.
(Obwohl ich empfehle, nur mit - (BOOL)prefersStatusBarHidden zurückzukehren, Ihre Präferenz, wenn Sie nicht brauchen, es zu ändern.)
//view controller header @interfaceMyViewController:UIViewController{
BOOL shouldHideStatusBar;}@end@implementation-(BOOL)prefersStatusBarHidden {return shouldHideStatusBar;//backed by your instance variable}-(void)setPrefersStatusBarHidden:(BOOL)hidden {
shouldHideStatusBar = hidden;//Don't call this on iOS 6 or it will crash since the //`setNeedsStatusBarAppearanceUpdate` method doesn't exist[self performSelector:@selector(setNeedsStatusBarAppearanceUpdate)];//[self setNeedsStatusBarAppearanceUpdate]; //(if Xcode 5, use this)}@end
Im Falle von iOS >= 7.0 verwenden Sie folgenden code :
Syntax:
//Present in UIViewController of UIKit Frameworks-(BOOL)prefersStatusBarHidden NS_AVAILABLE_IOS(7_0);//Defaults to NO
Verwendung:
-(BOOL)prefersStatusBarHidden {return YES;}
In iOS < 7.0 verwenden Sie folgenden code :
Syntax:
//Present in UIApplication of UIKit Frameworks-(void)setStatusBarHidden:(BOOL)hidden withAnimation:(UIStatusBarAnimation)animation NS_AVAILABLE_IOS(3_2);
Wenn mit iOS 9.0+ und Swift. Wenn Sie wollen, um die Statusleiste versteckt in einigen view-Controller-aber nicht alle - stellen Sie sicher, dass View controller-based status bar appearance Wert in Info.plist eingestellt YES sonst gleichen Parametern verwendet werden, die über alle view-Controller.
Und überschreiben prefersStatusBarHidden in der Unterklasse der UIViewController
in iOS7 sollten Sie implementieren in Ihren viewController
InformationsquelleAutor der Antwort Nicolas Manzini
können Sie die Statusleiste ausblenden, um setzen Sie den Schlüssel mit dem Wert "View controller-based status bar appearance" NICHT in der plist. Dies ist einfachste Art und Weise.
oder Sie verstecken sich im code mithilfe der Eigenschaft statusBarHidden der UIApplication-Klasse.
Swift 3.0
Statusleiste ausblenden für jede einzelne view-controller
Ausblenden Status bas über die Anwendung
UIApplication.geteilt wird.isStatusBarHidden = true
und legen Sie den Schlüssel mit dem Wert "View controller-based status bar appearance" NICHT in die info plist des Projektes.
InformationsquelleAutor der Antwort Anand Mishra
InformationsquelleAutor der Antwort user2826529
Ausblenden für ein bestimmtes ViewController (und dann wieder), wenn
View controller-based status bar appearance
eingestelltNO
:InformationsquelleAutor der Antwort capikaw
Wenn Sie brauchen, um zu verbergen/zeigen Sie es auf einem gegebenen view-controller dynamisch, können Sie so etwas tun.
(Obwohl ich empfehle, nur mit
- (BOOL)prefersStatusBarHidden
zurückzukehren, Ihre Präferenz, wenn Sie nicht brauchen, es zu ändern.)InformationsquelleAutor der Antwort zekel
Im Falle von iOS >= 7.0 verwenden Sie folgenden code :
Syntax:
Verwendung:
In iOS < 7.0 verwenden Sie folgenden code :
Syntax:
Verwendung:
InformationsquelleAutor der Antwort Jayprakash Dubey
Versuchen, diese
InformationsquelleAutor der Antwort Muhammad Aamir Ali
Wenn jemand wollte, dass die aktuelle Art und Weise, es zu tun (Swift 2.1 und der neuesten Xcode 7.2)
Set "View controller-based status bar appearance, KEINE in Ihrem info.plist"
UIApplication.sharedApplication().statusBarHidden = true //in-app-delegate irgendwo (applicationWill oder DidFinishLaunchingWithOptions:
InformationsquelleAutor der Antwort adam88labs
Meine Erfahrung ist, dass Sie müssen beide den code und den Wert in der info.plist-Datei in iOS 9 /Xcode 7.3.
Fügen Sie diese zu Ihrem viewDidLoad Methode.
Fügen Sie dieses zu Ihrer info.plist-Datei als boolean-Wert und setzen Sie ihn auf NO:
InformationsquelleAutor der Antwort Philip Borges
Wenn mit iOS 9.0+ und Swift. Wenn Sie wollen, um die Statusleiste versteckt in einigen view-Controller-aber nicht alle - stellen Sie sicher, dass
View controller-based status bar appearance
Wert inInfo.plist
eingestelltYES
sonst gleichen Parametern verwendet werden, die über alle view-Controller.Und überschreiben
prefersStatusBarHidden
in der Unterklasse derUIViewController
Ähnliches kann getan werden, um zu ändern
preferredStatusBarStyle
InformationsquelleAutor der Antwort esesmuedgars
auf swift 4:
InformationsquelleAutor der Antwort ingconti
Swift 4.1
Schritt 1. Set
View controller-based status bar appearance
in Ihreminfo.plist
zu JAstep2. Geben Sie den code in Ihrem
UIViewController
-, status-Leiste ausblenden, wenn Sie dieUIViewController
.InformationsquelleAutor der Antwort alex02rt