не используйте кнопку.
Image(systemName: "checkmark")
.onTapGesture {
// action 1
}
.onLongPressGesture {
// action 2
}
Или добавьте одновременный жест к кнопке
Button(action: {
print("tap")
}) {
Image(systemName: "trash")
}.simultaneousGesture(LongPressGesture(minimumDuration: 1, maximumDistance: 10).onEnded({ (b) in
print("long")
}))
предупреждение, «дополнительное» нажатие будет следовать за каждым длинным событием ...
Вы можете играть с маской жеста, скажем,
Button(action: {
print("tap")
}) {
Image(systemName: "trash")
}.simultaneousGesture(LongPressGesture().onChanged({ (b) in
print("long change", b)
})
.onEnded({ (b) in
print("long end")
}), including: .gesture)
отпечатки
long change true // on tap
или
// on long press
long change true
long end
, но без «касания»!