web-dev-qa-db-ja.com

Swiftのステータスバーの高さ

Swiftでプログラムでステータスバーの高さを取得するにはどうすればよいですか?

Objective-Cでは、次のようになります。

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

Swift 2.xに問題はありますか?

UIApplication.sharedApplication().statusBarFrame.size.height

Swift 3またはSwift 4

UIApplication.shared.statusBarFrame.height

UIKitがインポートされていることを確認してください

import UIKit
213
Kirsteins

Swiftは異なる言語です。 API要素は同じです。おそらくこのようなもの:

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

Objective-Cのように:

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

これは、次の標準変数として含まれています。

https://github.com/goktugyil/EZSwiftExtensions

2
Esqarrouth

これは私が使用するものです:

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

その後、次のことができます。

Screen.statusBarHeight
2
Bobby