Obecnie tworzę aplikację do listy zadań w SwiftUI. Jedną z funkcji, którą naprawdę chciałbym zrealizować, to możliwość sortowania listy ręcznie, więc mam zintegrowany tę funkcjonalność poprzez .onMove
modyfikator na moim ForEach
cykl, który wypełnia mój List
ale mi i tak musiałem przełączać tryb edycji ręcznie, więc zainstalowałem tryb edycji listy w następujący .active
w następujący sposób:
import SwiftUI
struct ContentView: View {
@State private var items = ["1", "2", "3"]
@State var editMode: EditMode = .active
var body: some View {
List {
ForEach(items, id: \.self) { item in
Text("Item \(item)")
}
.onMove(perform: { _, _ in })
}
.environment(\.editMode, $editMode)
}
}
Ale nie jestem zadowolony z tej realizacji, ponieważ muszę używać pióra z Edycji, a także zakłóca czynności przewijania, a także funkcjonalność przycisków.
Więc, jak mogę przenieść elementy z listy, bez korzystania z trybu Edycji?