Previews in Xcode
Generate dynamic, interactive previews of your custom views.
Overview
When you create a custom View with SwiftUI, Xcode can display a preview of the view’s content that stays up-to-date as you make changes to the view’s code. You use one of the preview macros — like Preview(_:body:) — to tell Xcode what to display. Xcode shows the preview in a canvas beside your code.
[Image]
Different preview macros enable different kinds of configuration. For example, you can add traits that affect the preview’s appearance using the Preview(_:traits:_:body:) macro or add custom viewpoints for the preview using the Preview(_:traits:body:cameras:) macro. You can also check how your view behaves inside a specific scene type. For example, in visionOS you can use the Preview(_:immersionStyle:traits:body:) macro to preview your view inside an ImmersiveSpace.
You typically rely on preview macros to create previews in your code. However, if you can’t get the behavior you need using a preview macro, you can use the PreviewProvider protocol and its associated supporting types to define and configure a preview.
Topics
Essentials
Creating a preview
Creating a preview in the context of a scene
Preview(_:immersionStyle:traits:body:)Preview(_:immersionStyle:traits:body:cameras:)Preview(_:windowStyle:traits:body:)Preview(_:windowStyle:traits:body:cameras:)
Defining a preview
Previewable()PreviewProviderPreviewPlatformpreviewDisplayName(_:)PreviewModifierPreviewModifierContent