Wie kann ich die Höhe der Statusleiste in Swift programmgesteuert ermitteln?
In Objective-C sieht es so aus:
[UIApplication sharedApplication].statusBarFrame.size.height.
Gibt es Probleme mit Swift 2.x :
UIApplication.sharedApplication().statusBarFrame.size.height
Swift 3 oder Swift 4 :
UIApplication.shared.statusBarFrame.height
Stellen Sie sicher, dass UIKit
importiert wird
import UIKit
In iOS 13 erhalten Sie eine veraltete Warnung "
'statusBarFrame' war in iOS 13.0 veraltet: Verwenden Sie stattdessen die Eigenschaft statusBarManager der Fensterszene.
Um dies zu beheben:
let height = view.window?.windowScene?.statusBarManager?.statusBarFrame.height ?? 0
UIApplication.shared.statusBarFrame.size.height
size
in Swift 3 weglassen :UIApplication.shared.statusBarFrame.height
ist genug.view.window?
mitUIApplication.shared.keyWindow?
Swift ist nur eine andere Sprache. Die API-Elemente sind identisch. Vielleicht so etwas:
quelle
Das benutze ich:
Dann können Sie tun:
quelle
Aktualisierte Antwort Unterstützt iOS 13+ und ältere iOS-Versionen für Swift 5
Viel Spaß beim Codieren!
quelle
Es ist genau wie in Objective-C:
Dies ist als Standardvariable enthalten in:
https://github.com/goktugyil/EZSwiftExtensions
quelle
Überarbeitete Antwort von Ibrahim:
quelle
Bei meinem swiftUI-Projekt hat dies funktioniert.
Bei Verwendung,
quelle