[SwiftUI] 画面(スクリーン)サイズを取得する

SwiftUI SwiftUI

今回は、画面(スクリーン)サイズを取得する方法について説明します。

スポンサーリンク

環境

OS: macOS Big Sur 11.5.2
Xcode: 12.5.1
Swift: 5.2.4

スポンサーリンク

画面(スクリーン)サイズを取得する

画面サイズを取得するには、UIScreen.main.bounds プロパティが持つ width(幅)とheight(高さ)を参照します。

以下にコード例を示します。

struct ContentView: View {
    var body: some View {
        let bounds = UIScreen.main.bounds
        let width = Int(bounds.width)
        let height = Int(bounds.height)
        
        HStack {
            Text("幅:\(width)")
                .padding()
            Text("高さ:\(height)")
                .padding()
        }
        
    }
}

上記は、bounds プロパティが持つ width と height の値を Text に表示をしています。

iPhone 12 Pro のシミュレータで表示した場合は、幅が 390、高さが 844 でした。

90度回転をさせた場合には幅が 390、高さが 844 となりましたので、向きから幅と高さを認識していることがわかります。

iPhone 12 Pro の幅と高さの取得例

iPhone 12 Pro の幅と高さの取得例

iPhone 12 Pro を90度回転させた時の幅と高さの取得例

iPhone 12 Pro を90度回転させた時の幅と高さの取得例

 

ちなみに iPad Pro(12.9-inch)では以下のように 幅 1024、高さ 1366 となり、デバイスごとに、きちんと値を取得できていることがわかります。

iPad Pro(12.9-inch)での幅と高さの取得例

iPad Pro(12.9-inch)での幅と高さの取得例

SwiftUITips
スポンサーリンク
スポンサーリンク
Swift Life

コメント

タイトルとURLをコピーしました