---
title: "init(_:as:using:widget:contentStates:)"
framework: developertoolssupport
role: symbol
role_heading: Initializer
path: "developertoolssupport/preview/init(_:as:using:widget:contentstates:)"
---

# init(_:as:using:widget:contentStates:)

Creates a preview of a live activity widget.

## Declaration

```swift
@MainActor init<Attributes>(_ name: String? = nil, as viewKind: ActivityPreviewViewKind, using attributes: Attributes, widget: @escaping () -> some Widget, @PreviewActivityBuilder<Attributes> contentStates: @escaping @MainActor () async -> [Attributes.ContentState]) where Attributes : ActivityAttributes
```

## Discussion

Discussion The #Preview macro expands into a declaration that calls this initializer. To create a preview that appears in the canvas, you must use the macro, not instantiate a Preview directly.

## See Also

### Creating a preview of a widget

- [init(_:as:using:widget:timelineProvider:)](developertoolssupport/preview/init(_:as:using:widget:timelineprovider:)-1if5u.md)
- [init(_:as:using:widget:timelineProvider:)](developertoolssupport/preview/init(_:as:using:widget:timelineprovider:)-5335n.md)
- [init(_:as:widget:timeline:)](developertoolssupport/preview/init(_:as:widget:timeline:).md)
- [init(_:as:widget:timelineProvider:)](developertoolssupport/preview/init(_:as:widget:timelineprovider:).md)
