Presentation Types
When constructing a workflow, you can use WorkflowItem.presentationType(_:) along with a valid LaunchStyle.SwiftUI.PresentationType to control how a FlowRepresentable will be displayed. This is how you’ll describe your modals and keep your view ignorant of the context it’s displayed in.
Example
WorkflowView {
WorkflowItem(FirstView.self)
WorkflowItem(SecondView.self).presentationType(.modal)
}
With that, you’ve described that FirstView should be presented normally. When it calls FlowRepresentable.proceedInWorkflow(), it’ll present SecondView using the default SwiftUI modal (sheet).
NOTE: Unlike
LaunchStyle.SwiftUI.PresentationType.navigationLink, you applyLaunchStyle.SwiftUI.PresentationType.modalto a view that should be launched modally.
Different Modal Styles
When you use a presentation type of LaunchStyle.SwiftUI.PresentationType.modal, you can optionally pass it a LaunchStyle.SwiftUI.ModalPresentationStyle.
Example
The following will use a full-screen cover:
WorkflowView {
WorkflowItem(FirstView.self)
WorkflowItem(SecondView.self).presentationType(.modal(.fullScreenCover))
}
View on GitHub
Working with Modals Reference