Comment puis-je obtenir la hauteur de la barre d'état par programmation dans Swift?
En Objective-C, c'est comme ça:
[UIApplication sharedApplication].statusBarFrame.size.height.
Y a-t-il des problèmes avec Swift 2.x :
UIApplication.sharedApplication().statusBarFrame.size.height
Swift 3 ou Swift 4 :
UIApplication.shared.statusBarFrame.height
Assurez-vous qu'il UIKit
est importé
import UIKit
Dans iOS 13, vous recevrez un avertissement obsolète "
'statusBarFrame' était obsolète dans iOS 13.0: utilisez plutôt la propriété statusBarManager de la scène de fenêtre.
Pour résoudre ce problème:
let height = view.window?.windowScene?.statusBarManager?.statusBarFrame.height ?? 0
UIApplication.shared.statusBarFrame.size.height
size
dans Swift 3:UIApplication.shared.statusBarFrame.height
c'est assez.view.window?
parUIApplication.shared.keyWindow?
Swift est juste une langue différente. Les éléments de l'API sont les mêmes. Peut-être quelque chose comme ça:
la source
Réponse mise à jour prenant en charge iOS 13+ et les anciennes versions d'iOS pour Swift 5
Bon codage!
la source
C'est ce que j'utilise:
Ensuite, vous pouvez faire:
la source
C'est comme dans Objective-C:
Ceci est inclus comme variable standard dans:
https://github.com/goktugyil/EZSwiftExtensions
la source
Réponse retravaillée d'Ibrahim:
la source
Sur mon projet swiftUI, cela a fonctionné.
Lors de l'utilisation,
la source