Demo.swift
ContentView.swift
App.swift
import SwiftUI
struct EditCustomDemo: View {
@State private var items = ["A","B","C"]
@State private var editMode: EditMode = .inactive
var body: some View {
VStack {
List {
ForEach(items, id: \.self) { Text($0) }
.onDelete { items.remove(atOffsets: $0) }
.onMove { items.move(fromOffsets: $0, toOffset: $1) }
}
.environment(\.editMode, $editMode)
Button(editMode.isEditing ? "Done" : "Edit") { editMode.toggle() }
}
}
}
private extension EditMode { mutating func toggle() { self = (isEditing ? .inactive : .active) } }
import SwiftUI
struct ContentView: View { var body: some View { EditCustomDemo() } }
import SwiftUI
@main
struct MyApp: App { var body: some Scene { WindowGroup { ContentView() } } }