---
title: "init(_:traits:body:)"
framework: developertoolssupport
role: symbol
role_heading: Initializer
path: "developertoolssupport/preview/init(_:traits:body:)-8pemr"
---

# init(_:traits:body:)

Creates a preview of a SwiftUI view.

## Declaration

```swift
@MainActor init(_ name: String? = nil, traits: PreviewTrait<Preview.ViewTraits>..., body: @escaping @MainActor () -> any View)
```

## Parameters

- `name`: An optional display name for the preview.
- `traits`: An optional list of doc://com.apple.documentation/documentation/DeveloperToolsSupport/PreviewTrait instances that customize the appearance of the preview.
- `body`: A content builder that produces a SwiftUI view to preview.

## Discussion

Discussion Preview macros expand into a declaration that calls this initializer. Don’t use this initializer directly. Instead use one of the macros, like Preview(_:body:).

## See Also

### Creating a SwiftUI preview

- [init(_:traits:body:cameras:)](developertoolssupport/preview/init(_:traits:body:cameras:).md)
- [init(_:immersionStyle:traits:body:cameras:)](developertoolssupport/preview/init(_:immersionstyle:traits:body:cameras:).md)
- [init(_:windowStyle:traits:body:cameras:)](developertoolssupport/preview/init(_:windowstyle:traits:body:cameras:).md)
