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() } } }