Get your own website
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() } } }