プロトコル


PreviewProvider


Xcode 内でビューのプレビューを生成する型。





宣言


protocol PreviewProvider : _PreviewProvider



概観


PreviewProvider プロトコルに準拠する構造体を宣言して、Xcode プレビューを作成します。必須 previews の計算されたプロパティを実装して、ビューを表示するように戻します。


struct CircleImage_Previews: PreviewProvider {

static var previews: some View {

CircleImage()

}

}

Xcode は、プロジェクト内のプレビュープロバイダーを静的に検出し、ソースエディタで現在開いているプロバイダのプレビューを全て生成します。Xcode は、現在の実行先を、表示するデバイスのヒントとして使用してプレビューを生成します。たとえば、iPhone 12 Pro Max シミュレータ上で実行する iOS ターゲットを選択した場合、Xcode は以下のプレビューを表示します。




新しいファイルを作成し ([File(ファイル)] > [New(新規)] > [File(ファイル)])、SwiftUI ビューテンプレートを選択すると、Xcode は構成可能なファイルの下部にプレビュー構造を自動的に挿入します。[Editor(エディタ)] > [Create Preview(プレビューの作成)] を選択して、既存の SwiftUI ビューファイル内に新しいプレビュー構造を作成することもできます。


カスタムの View をビルドするときと同じように、ビュー修飾子を追加してプレビューの外観をカスタマイズします。これには、デバイスの向きなど、プレビューの概観を制御できるプレビュー固有の修飾子が含まれます。

struct CircleImage_Previews: PreviewProvider {

static var previews: some View {

CircleImage()

.previewInterfaceOrientation(.landscapeLeft)

}

}



プレビューのカスタマイズの完全なリストについては、Xcode でのプレビュー を参照してください。


Xcode は、プレビュー内のビューごとに異なるプレビューを作成するため、バリエーションを並べて表示できます。たとえば、ビューのライトの外観とダークな外観を同時に表示したい場合があります。

struct CircleImage_Previews: PreviewProvider {

static var previews: some View {

CircleImage()

CircleImage()

.preferredColorScheme(.dark)

}

}

様々なプレビューを維持したいが、それらすべてに単一の修飾子を適用したい場合は、Group を使用します。

struct CircleImage_Previews: PreviewProvider {

static var previews: some View {

Group {

CircleImage()

CircleImage()

.preferredColorScheme(.dark)

}

.previewLayout(.sizeThatFits)

}

}



トピックス




プレビューの作成




プラットフォームの指定
























目次
Xcode の新機能

  • 利用可能
  • iOS 13.0+
    iPadOS 13.0+
    macOS 10.15+
    Mac Catalyst 13.0+
    tvOS 13.0+
    watchOS 6.0+

    フレームワーク

    SwiftUI

  • 宣言
  • 概観
  • トピックス












  • トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ