Как правильно настроить DragGesture SwiftUI?
у меня есть View, при Свайпе в котором справа налево оно должно закрываться путем showMenu.toggle()
Но это не происходит, оно сдвигается на несколько десятков пикселей влево и просто становится мертвым, переставая отвечать на свайпы и клики.
Ниже расположен код самого DragGesture, может быть кто-нибудь знает как настроить это корректно ? Или написать что именно у меня не так?
var drag: some Gesture {
DragGesture(minimumDistance: 30, coordinateSpace: .local)
.onChanged { value in
guard value.translation.width < 0 else { return }
if value.startLocation.x > 100 {
withAnimation() {
viewState = value.translation
}
}
if viewState.width < -80 {
withAnimation(.easeInOut(duration: 0.5)) {
showMenu.toggle()
}
}
}
.onEnded { value in
if viewState.width < -50 {
withAnimation(.easeInOut(duration: 0.5)) {
showMenu.toggle()
}
} else {
viewState = .zero
}
}
}