Wie verstecke ich die Statusleiste in einer Swift iOS App?
Möchte ich entfernen Sie die Statusleiste am oberen Rand des Bildschirms.
Funktioniert nicht:
func application
(application: UIApplication,
didFinishLaunchingWithOptions launchOptions: NSDictionary?)
-> Bool
{
application.statusBarHidden = true
return true
}
Habe ich auch versucht:
func application
(application: UIApplication,
didFinishLaunchingWithOptions launchOptions: NSDictionary?)
-> Bool
{
self.window = UIWindow(frame: UIScreen.mainScreen().bounds)
var controller = UIViewController()
application.statusBarHidden = true
controller.setNeedsStatusBarAppearanceUpdate()
var view = UIView(frame: CGRectMake(0, 0, 320, 568))
view.backgroundColor = UIColor.redColor()
controller.view = view
var label = UILabel(frame: CGRectMake(0, 0, 200, 21))
label.center = CGPointMake(160, 284)
label.textAlignment = NSTextAlignment.Center
label.text = "Hello World"
controller.view.addSubview(label)
self.window!.rootViewController = controller
self.window!.makeKeyAndVisible()
return true
}
InformationsquelleAutor der Frage Jay | 2014-06-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollten Sie wirklich umzusetzen prefersStatusBarHidden auf Ihre view-controller(en):
swift 2
swift 3 und später
InformationsquelleAutor der Antwort drewag
Fügen Sie den code innerhalb der Methode
GETAN! Führen Sie Ihre app aus und nicht mehr-status bar!
InformationsquelleAutor der Antwort nycdanie
Swift 3
In
Info.plist
setView controller-based status bar appearance
zuNO
- Und call -
UIApplication.shared.isStatusBarHidden = true
InformationsquelleAutor der Antwort Joseph Mark
wenn Sie lieber einen visuellen Ansatz eher als Codierung verwenden Sie diese Methode:
in Ihrem
info.plist
fügen Sie einfach
View controller-based status bar appearance
zuNO
sowie
Status bar is initially hidden
alsYES
InformationsquelleAutor der Antwort Milad Masoodi
Update für iOS-10 /Swift 3.0
Nicht mehr eine Funktion, die jetzt eine Immobilie...
InformationsquelleAutor der Antwort atlwx
InformationsquelleAutor der Antwort Mohit tomar
Wenn Sie ausblenden möchten, und bringen Sie die Statusleiste auf die Schaltfläche Tippen Sie aufwährend zu der Zeit zu präsentieren und die Abberufung von slide-in-Menüpopups etc, dann kannst du diese Methode verwenden:-
Ausblenden der Statusleiste:-
Zurück zu bringen, der status-bar: -
InformationsquelleAutor der Antwort Vincent Joy
in Swift 3.x:
InformationsquelleAutor der Antwort Samira Ekrami
Also die Frage, die hier eigentlich nichts zu tun hat mit Swift aber wie Statusleiste Aussehen wird wie auf iOS 7.
Standardmäßig view-Controller individuell Steuern das Aussehen der Statusleiste an, wenn Sie auf dem Bildschirm. Wenn Sie diese Methode verwenden möchten, die Kontrolle der status-Leiste, können Sie das überschreiben der folgenden Methoden an, für was auch immer-view-Controller Sie möchten, ändern Sie das Aussehen für:
prefersStatusBarHidden
preferredStatusBarStyle
preferredStatusBarAnimation
,In Ihrem Fall, Sie würde einfach umzusetzen
prefersStatusBarHidden
und zurücktrue
.Die andere Möglichkeit wäre die Kontrolle der status-bar Auftritt auf der Anwendungsebene. Dies scheint zu sein, was Sie tatsächlich versuchen zu tun (durch Einstellung
application.statusBarHidden
).Um diese Arbeit zu machen, müssen Sie öffnen Sie Ihren app
Info.plist
- Datei und fügen Sie den SchlüsselUIViewControllerBasedStatusBarAppearance
und geben Sie einen Wert vonNO
.InformationsquelleAutor der Antwort Dima
Geh zu deiner Info.plist und fügen Sie zwei Tasten:
InformationsquelleAutor der Antwort janaz
Dass ich tatsächlich dachte, dies aus mir selbst. Ich werde meine Lösung als eine weitere option.
InformationsquelleAutor der Antwort Jay
Okay, so dass diese zu einem problem für mich, da iOS 9 unterstützt nicht alle über die Methode, die Leute hier erwähnt haben, wie
UIApplication.sharedApplication().statusBarHidden = true
oder
und
funktioniert, aber nicht bieten programmierbare Lösung, wo ich das ändern kann, auf eine Bedingung.
(
statusBarHidden = true
undstatusBarHidden = false
wie wir vorher getan haben).Lösung zu diesem Wahnsinn:
Indem
prefersStatusBarHidden()
wie weiter unten können Sie programmgesteuert die ein-und ausblenden der status bar ohne Zusatz vonUIViewControllerBasedStatusBarAppearance
Einstellung zu Ihrem info.plist:dann verwenden Sie es wie das überall in Ihrem code:
ODER
InformationsquelleAutor der Antwort CodeOverRide
Nur hinzufügen, wenn das überschreiben
prefersStatusBarHidden
Methode oder variable, dieView controller-based status bar appearance
im Info.plist muss JA sein, sonst wird der override wird keine Wirkung habenInformationsquelleAutor der Antwort Huanyan
In meinem Fall, ich war auf der Suche für die Statusleiste ausblenden/anzeigen, die auf Nachfrage, anstatt nur, wenn die Ansicht geladen wird oder verschwindet.
swift 3.x
InformationsquelleAutor der Antwort Felecia Genet
Ich bin mit Xcode 8.1 (8B62) mit einer Bereitstellung gesteckte Ziel zu 10.1 und ich hatte noch nicht viel Glück mit den oben genannten Optionen überschreiben. Aber die überprüfung der "Statusleiste Ausblenden" - option in der Bereitstellung Info hat den trick für mich.
Projekt - > Allgemeine
Ich hoffe, das hilft.
InformationsquelleAutor der Antwort danmerfeld
InformationsquelleAutor der Antwort Prasad Bulbule
Können Sie diesen code in Ihre
ViewController
Class
scope
InformationsquelleAutor der Antwort Sajjad
In Ihrem Projekt->allgemein->Bereitstellung von info
Statusbar Stil:--
nur markiert Ausblenden der Statusleiste(iOS 10)
InformationsquelleAutor der Antwort V D Purohit
Eine Lösung, die funktioniert für mich, wenn Sie möchten, blenden Sie die Statusleiste auf ein bestimmtes view-controller beim laden:
Achtung: wenn Sie die Taste "View controller-based status bar appearance" zu "KEINE" in Ihrem info.plist-der code oben nicht funktioniert. Sollten Sie die Taste zu "JA" oder entfernen es von der info.plist
InformationsquelleAutor der Antwort andre_hold
Swift 4
InformationsquelleAutor der Antwort Shakeel Ahmed
In Ihrem Projekt allgemein->Bereitstellung von Info->Status-bar-style
wählen Sie Häkchen bei Statusleiste Ausblenden
Hinweis:- es blendet die Statusleiste in der gesamten Anwendung
InformationsquelleAutor der Antwort Sweta Vani
InformationsquelleAutor der Antwort kiran pm