이 글의 성격은 무엇인가요?
질문 / 문제 해결
내용을 설명해주세요
안녕하세요, 앱인토스 미니앱 개발 중 터치 제스처 관련 문의드립니다.
환경
- 앱인토스 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(); // 왼쪽 스와이프
});
질문
- 앱인토스 WebView에서 좌우 스와이프 제스처가 네이티브 레벨에서 차단되나요?
- 차단된다면 WebView 내에서 좌우 스와이프를 구현할 수 있는 공식적인 방법이 있나요?
granite.config.ts에서 WebView 제스처 관련 설정을 할 수 있는 옵션이 있나요?
감사합니다.