Можно ли «переупорядочить» / «переместить» элементы в ScrollView, как можно в списке? У меня есть игровая площадка ниже, которая компилируется / запускается нормально, однако onDelete / onMove действительно визуализирует любые кнопки удаления или строки гамбургера для перетаскивания / перемещения?
Есть ли способ заставить мой код работать здесь, чтобы хотя бы " на ходу "концепция работает?
Примечание - я отмечаю, что и List, и ScrollView (я думаю) поддерживают протокол DynamicViewContent, поэтому предполагалось, что он должен работать (?)
Изображение после выполнения кода:
Код (игровые площадки)
import SwiftUI
import PlaygroundSupport
let modelData: [String] = ["Eggs", "Milk", "Bread"]
struct ListTestNoDelete: View {
private func move(from uiStartIndexSet: IndexSet, to uiDestIndex: Int) {
print("On Move")
}
private func delete(at offsets : IndexSet) {
print("On Delete")
}
var body: some View {
NavigationView {
VStack {
ScrollView {
ForEach(modelData, id: \.self) { str in
HStack {
Image(systemName: "square")
Text(str)
Spacer()
}.padding(.horizontal, 3)
}
.onMove(perform: self.move)
.onDelete(perform: self.delete)
}
.environment(\.editMode, .constant(.active))
.navigationBarTitle( Text("Test") )
}
}
}
}
let listTest = ListTestNoDelete()
PlaygroundPage.current.liveView = UIHostingController(rootView: listTest)