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