Contents

DragConfiguration.OperationsWithinApp

Describes the drag operations suggested to destinations within the app.

Declaration

struct OperationsWithinApp

Overview

To create a default configuration, initialize it without parameters.

On iOS, the default behavior is to allow drag-to-copy within the application. On macOS, the default configuration is to support drag-to-copy to destinations both within the application and to other apps.

In addition to copy, add move operation support by specifying that in the initializer:

struct DraggableBookView: View {
    var id: UUID

    var body: some View {
        BookView()
            .draggable(Book(id: id))
            .dragConfiguration(makeConfiguration())
    }

    func makeConfiguration() -> DragConfiguration {
        let operations = OperationsWithinApp(allowMove: true)
        return DragConfiguration(operationsWithinApp: operations)
    }
}

In the example above, an application provides operations that will be suggested to destinations within the app. Drags to other apps will use the default behavior: suggest operation copy to drag destinations on macOS, and forbid drags on iOS.

Topics

Initializers

Instance Properties