[앱인토스 WebView] 좌우 스와이프 터치 제스처가 동작하지 않는 문제 문의

이 글의 성격은 무엇인가요?

질문 / 문제 해결

내용을 설명해주세요

안녕하세요, 앱인토스 미니앱 개발 중 터치 제스처 관련 문의드립니다.

환경

  • 앱인토스 WebView (partner 타입)
  • iOS Safari에서는 정상 작동 확인

문제 상황
WebView 내에서 좌우 스와이프 제스처를 감지하려고 하는데, 토스 앱 내에서는 touchstart / touchmove / touchend 이벤트가 정상적으로 발생하지 않거나, 발생해도 좌우 방향 스와이프가 동작하지 않습니다.

passive: false 옵션으로 touchmove에서 e.preventDefault()를 호출해봤지만 동일하게 동작하지 않았습니다.

시도한 방법

snap.addEventListener('touchstart', e => {
  startX = e.touches[0].clientX;
}, { passive: false });

snap.addEventListener('touchmove', e => {
  const dx = e.touches[0].clientX - startX;
  if (Math.abs(dx) > 8) e.preventDefault();
}, { passive: false });

snap.addEventListener('touchend', e => {
  const dx = e.changedTouches[0].clientX - startX;
  if (dx < -60) openDetail(); // 왼쪽 스와이프
});

질문

  1. 앱인토스 WebView에서 좌우 스와이프 제스처가 네이티브 레벨에서 차단되나요?
  2. 차단된다면 WebView 내에서 좌우 스와이프를 구현할 수 있는 공식적인 방법이 있나요?
  3. granite.config.ts에서 WebView 제스처 관련 설정을 할 수 있는 옵션이 있나요?

감사합니다.

안녕하세요 :slight_smile:
네이티브 단에서 별도로 좌우 스와이프 제스쳐를 막고 있지는 않습니다.
확인해보니 touchstart / touchmove / touchend 로 구현하는 것도 막혀있지 않네요.
필요하시다면 스와이프 npm 패키지를 사용하시는 것도 가능해요
감사합니다.