I've a array of items displayed using List in my SwiftUI View. I tired to add a contextMenu to delete individual items in the List. The following is the result.
The animation is not what is expected. The row blinks before moving the next one. How to set animation.right or something like that so that there is no UI glitch and looks like the default behavior which happens at onDelete.
PS: I can't use onDelete because, in my app, swiping right and left has other functions.
Here is the code.
struct ListDelete: View {
@State var cars = ["Tesla", "Mercedes", "Audi", "Tata", "Jaguar"]
var body: some View {
List(cars, id: \.self) { car in
Text(car).contextMenu {
Button(action: {
if let index = self.cars.firstIndex(of: car) {
// self.cars.remove(at: index)
self.cars.remove(atOffsets: [index])
}
}, label: {
HStack {
Text("Delete")
Spacer()
Image(systemName: "trash")
}
})
}
}
}
}
The two approaches used to remove the items from the array, resulted in this same behavior.

