SwiftUIの開発の際に使用するXCodeのプレビューについて、デフォルトだとiPhoneの最新機種でのプレビューが表示されるが、今回はこの端末を変更する方法を紹介する。

デフォルトのプレビュー

previewDeviceメソッド

プレビューを管理するContentView_Previews構造体を見ていく。

previews計算型プロパティ内でビューを返しているのだが、このビューにはpreviewDeviceメソッドというものが用意されており、引数にデバイス名を指定するとそのデバイスでのプレビューが表示される。

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
            .previewDevice("iPhone SE")
    }
}

上記はiPhone SEを指定した例だが、プレビューに使われるデバイスが次のように変更される。

このほか、デバイスの指定では以下のようなものがサポートされている。

iPhone SE
iPhone 11 Pro
iPhone 11
iPhone X
iPhone Xs
iPhone 8
iPhone 8 Plus
iPad Pro (9.7-inch)
iPad Pro (12.9-inch)
iPad Air (3rd generation)

などなど。