// // TestListInsertView.swift // TestSwiftUIListOnInsertiOS // import SwiftUI import UniformTypeIdentifiers struct TestListInsertView: View { let sampleData: [String] = ["swift", "ios", "xcode", "swiftui"] var body: some View { VStack { List { ForEach(sampleData, id: \.self) { string in Text(string) } .onInsert(of: CJSwiftDragDropHandler.arrayForTypes(), perform: dropAction) } } } private func dropAction(at index: Int, _ items: [NSItemProvider]) { print("List onInsert - calling dropAction with index \(index), with items.count = \(items.count)") } } #Preview { TestListInsertView() } @objc public class CJSwiftDragDropHandler: NSObject, ObservableObject { public static func arrayForTypes() -> [UTType] { return [UTType.fileURL, UTType.data, UTType.image, UTType.audio, UTType.movie, UTType.url] } }