Status bar height in Swift
Is there any problems with Swift 2.x:
UIApplication.sharedApplication().statusBarFrame.size.height
Swift 3 or Swift 4:
UIApplication.shared.statusBarFrame.height
Make sure UIKit
is imported
import UIKit
In iOS 13, you will get a deprecated warning"
'statusBarFrame' was deprecated in iOS 13.0: Use the statusBarManager property of the window scene instead.
To fix this:
let height = view.window?.windowScene?.statusBarManager?.statusBarFrame.height ?? 0
Updated Answer Supporting iOS 13+ and older iOS Versions for Swift 5
func getStatusBarHeight() -> CGFloat { var statusBarHeight: CGFloat = 0 if #available(iOS 13.0, *) { let window = UIApplication.shared.windows.filter {$0.isKeyWindow}.first statusBarHeight = window?.windowScene?.statusBarManager?.statusBarFrame.height ?? 0 } else { statusBarHeight = UIApplication.shared.statusBarFrame.height } return statusBarHeight}
Happy Coding!