wake-up-neo.com

Statusleistenhöhe in Swift

Wie kann ich die Statusleiste programmgesteuert in Swift erhalten?

In Objective-C sieht das so aus:

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

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
192
Kirsteins

Swift ist nur eine andere Sprache. Die API-Elemente sind gleich. Vielleicht so etwas:

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

Es ist wie in Objective-C:

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

Dies ist als Standardvariable enthalten in:

https://github.com/goktugyil/EZSwiftExtensions

2
Esqarrouth

Das ist was ich benutze:

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
    }
}

Dann können Sie tun:

Screen.statusBarHeight
0
Bobby