[SwiftUI] Tap Gesture

RudinP·2025년 8월 19일
0

Study

목록 보기
339/352

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)
  • 기존에 싱글탭만 있을 땐 딜레이 없이 처리됨
  • 그러나, 더블탭도 같이 추가할 경우 싱글탭 처리할 때 더블탭 여부 판단을 위한 딜레이 발생
  • 꼭 필요한 경우가 아니라면 하나의 제스처만 사용 권장
profile
iOS 개발자가 되기 위한 스터디룸...

0개의 댓글