SwiftUI:如何将列表中的项拖放到同一(另一)列表中的另一项中
我是swift ui的新手,我正在构建一种filemanager视图 A有两个列表(文件夹列表和文件列表)。 如何将文件项从“文件”列表移动到“文件夹”列表中的文件夹中,以及如何将文件夹项从“文件夹”列表移动到其他文件夹中。 我认为截图应该有助于您理解我的问题: 注意:我不想在列表之间重新排序或移动项目。 我想将项目拖到文件夹上并调用我的APISwiftUI:如何将列表中的项拖放到同一(另一)列表中的另一项中,swift,listview,drag-and-drop,swiftui,Swift,Listview,Drag And Drop,Swiftui,我是swift ui的新手,我正在构建一种filemanager视图 A有两个列表(文件夹列表和文件列表)。 如何将文件项从“文件”列表移动到“文件夹”列表中的文件夹中,以及如何将文件夹项从“文件夹”列表移动到其他文件夹中。 我认为截图应该有助于您理解我的问题: 注意:我不想在列表之间重新排序或移动项目。 我想将项目拖到文件夹上并调用我的API List { ForEach(self.filemanager.folders, id: \.self) {
List {
ForEach(self.filemanager.folders, id: \.self) { folder in
FolderItemView(folder: folder)
.listRowBackground(Color.white)
.onTapGesture(count: 2) {
if (!self.isEditable) {
withAnimation {
self.filemanager.openFolder(folder: folder)
}
}
}
.onTapGesture(count: 1) {
if (!self.isEditable) {
self.folderToViewDetails = folder
}
}
.onLongPressGesture {
withAnimation {
self.isEditable.toggle()
}
}
}//.onMove(perform: onMove)
.onDelete(perform: onDeleteFolder)
.sheet(item: self.$folderToViewDetails) { item in
FolderDetailedView(
folder: item,
filemanager: self.filemanager
)
.environmentObject(self.filemanager.appSettings)
.padding(.top, 16)
}
ForEach(self.filemanager.files, id: \.self) { file in
FileItemView(file: file)
.listRowBackground(Color.white)
.onTapGesture() {
if (!self.isEditable) {
self.fileToViewDetails = file
}
}
.onLongPressGesture {
withAnimation {
self.isEditable.toggle()
}
}
}//.onMove(perform: onMove)
.onDelete(perform: onDeleteFile)
.sheet(item: self.$fileToViewDetails) { item in
FileDetailedView(
file: item,
filemanager: self.filemanager
)
.environmentObject(self.filemanager.appSettings)
.padding(.top, 16)
}
}.environment(\.editMode, isEditable ? .constant(.active) : .constant(.inactive))
这可能会有帮助。