Skip to main content

Liste mit Swipe-Aktionen zum Löschen

Beschreibung

Diese View zeigt eine Aufgabenliste, in der Einträge über eine Wischgeste nach links eine Löschaktion anbieten. Durch allowsFullSwipe: false muss der Nutzer bewusst den Button tippen, wodurch unbeabsichtigte Löschvorgänge vermieden werden. Beim Auslösen wird der gewählte Eintrag aus der Liste entfernt.

🔍 Zweck

  • Schnelles Verwalten von Aufgaben direkt in der Liste
  • Reduktion von UI-Elementen durch kontextuelle Wischaktionen
  • Konsistentes Interaktionsmuster für destruktive Aktionen
  • Prototyping von listenbasierten Workflows
  • Demonstration von swipeActions und Rollenvergabe

🖥️ Betriebssystem

iOS

📄 Codebeispiel

import SwiftUI

@main
struct SwipeActionMenuApp: App {
    var body: some Scene {
        WindowGroup {
            SwipeActionMenuExample()
        }
    }
}

public struct SwipeActionMenuExample: View {
    // Backing data for the task list
    @State private var tasks = ["Buy Milk", "Reply Emails", "Call Mom"]

    public init() {}

    public var body: some View {
        List {
            ForEach(tasks, id: \.self) { task in
                // Show each task title
                Text(task)
                    // Trailing swipe reveals contextual actions for the row
                    .swipeActions(edge: .trailing, allowsFullSwipe: false) {
                        // Destructive delete action
                        Button(role: .destructive) {
                            // Remove the selected task from the data source
                            tasks.removeAll { $0 == task }
                        } label: {
                            Label("Delete", systemImage: "trash")
                        }
                    }
                    .accessibilityHint("Swipe left to reveal actions")
            }
        }
        .navigationTitle("Tasks")
    }
}

// Modern Swift 5.10+ preview syntax
#Preview {
    SwipeActionMenuExample()
}