diff --git a/packages/@react-aria/overlays/src/usePreventScroll.ts b/packages/@react-aria/overlays/src/usePreventScroll.ts index 50176e84979..cc37145ec1d 100644 --- a/packages/@react-aria/overlays/src/usePreventScroll.ts +++ b/packages/@react-aria/overlays/src/usePreventScroll.ts @@ -122,6 +122,13 @@ function preventScrollMobileSafari() { }; let onTouchMove = (e: TouchEvent) => { + if (e.touches.length === 2) { + // If there are two touch points, the user is likely trying to zoom. As we + // don't want to prevent pinch zooming by calling `e.preventDefault()`, + // we return early here. + return; + } + // Prevent scrolling the window. if (!scrollable || scrollable === document.documentElement || scrollable === document.body) { e.preventDefault();