web-dev-qa-db-fra.com

Hauteur de la barre d'état dans Swift

Comment obtenir la hauteur de la barre d'état par programmation dans Swift?

En Objective-C, c'est comme ça:

[UIApplication sharedApplication].statusBarFrame.size.height.
74
Oleshko

Y at-il des problèmes avec Swift 2.x :

UIApplication.sharedApplication().statusBarFrame.size.height

Swift 3 ou Swift 4

UIApplication.shared.statusBarFrame.height

Assurez-vous que UIKit est importé

import UIKit
192
Kirsteins

Swift est juste une langue différente. Les éléments de l'API sont les mêmes. Peut-être quelque chose comme ça:

let app = UIApplication.sharedApplication()
let height = app.statusBarFrame.size.height
4
vcsjones

C'est comme dans Objective-C:

var screenStatusBarHeight: CGFloat {
    return UIApplication.sharedApplication().statusBarFrame.height
}

Ceci est inclus en tant que variable standard dans:

https://github.com/goktugyil/EZSwiftExtensions

2
Esqarrouth

C'est ce que j'utilise:

struct Screen {
    static var width: CGFloat {
        return UIScreen.main.bounds.width
    }
    static var height: CGFloat {
        return UIScreen.main.bounds.height
    }
    static var statusBarHeight: CGFloat {
        return UIApplication.shared.statusBarFrame.size.height
    }
}

Ensuite, vous pouvez faire:

Screen.statusBarHeight
0
Bobby