Single Tap
.onTapGesture {
...
}
Double Tap
.onTapGesture(count: 2) {
...
}
범용적 제스쳐 작성 방식
.gesture(
TapGesture()
.onEnded({
...
})
)
제스쳐 순서에 따른 실행 결과
- 탭 제스처는 시작이 아니라 탭이 끝나는 시점에서 처리해야 함 (
onEnded
)
제스처 코드 깔끔하게 구현하기
- 인라인 형태로 작성하지 않기
- 인라인이 필수라면 줄바꿈 사용하기


1. 제스처 속성 생성
var tapToPlus: some Gesture {
TapGesture()
.onEnded {
tapCount += 1
}
}
2. gesture 파라미터로 전달
.gesture(tapToPlus)
제스처 여러개 추가
.gesture(tapToPlus)
.gesture(doubleTapToPlus10)
- 기존에 싱글탭만 있을 땐 딜레이 없이 처리됨
- 그러나, 더블탭도 같이 추가할 경우 싱글탭 처리할 때 더블탭 여부 판단을 위한 딜레이 발생
- 꼭 필요한 경우가 아니라면 하나의 제스처만 사용 권장