struct DragDropExample: View { @State private var text = "DevTechie" var body: some View { VStack { Text(text) .font(.largeTitle) .onDrag({ NSItemProvider(object: self.text as NSString) }) } } }
struct DTDropTarget: DropDelegate { @Binding var text: String @Binding var dropTargetText: String func performDrop(info: DropInfo) -> Bool { text = "" dropTargetText = "DevTechie" return true } }
struct DragDropExample: View { @State private var text = "DevTechie" @State private var dropTargetText = "" var body: some View { VStack { Text(text) .font(.largeTitle) .onDrag({ NSItemProvider(object: self.text as NSString) }) RoundedRectangle(cornerRadius: 20) .fill(.orange) .frame(width: 200, height: 100) .overlay(Text(dropTargetText)) .onDrop(of: [text], delegate: DTDropTarget(text: $text, dropTargetText: $dropTargetText)) } } }
struct DragDropExample: View { @State private var text = "DevTechie" @State private var dropTargetText = "" var body: some View { VStack { Text(text) .font(.largeTitle) .onDrag({ NSItemProvider(object: self.text as NSString) }) RoundedRectangle(cornerRadius: 20) .fill(.orange) .frame(width: 200, height: 100) .overlay(Text(dropTargetText)) .onDrop(of: [text], delegate: DTDropTarget(text: $text, dropTargetText: $dropTargetText))Button("Reset") { text = "DevTechie" dropTargetText = "" } } } }
struct DragDropExample: View { @State private var text = "DevTechie" @State private var dropTargetText = "" var body: some View { VStack { Text(text) .font(.largeTitle) .onDrag({ NSItemProvider(object: self.text as NSString) }) { Text("Drop me on orange.") } RoundedRectangle(cornerRadius: 20) .fill(.orange) .frame(width: 200, height: 100) .overlay(Text(dropTargetText)) .onDrop(of: [text], delegate: DTDropTarget(text: $text, dropTargetText: $dropTargetText)) Button("Reset") { text = "DevTechie" dropTargetText = "" } } } }
With that we have reached the end of this article. Thank you once again for reading. Subscribe to our weekly newsletter at https://www.devtechie.com