Вы должны использовать javascript в UIWebView для обнаружения жестов. (Затем вы можете сообщить об этом обратно в Objective-C, если вам нужно.) Это документы Apple об обнаружении жестов и касаний в Javascript. Я также нашел эту статью полезной , хотя он использует библиотеку javascript для работы с событиями и т. Д.
Вот рабочий пример сжатия для увеличения UIWebView, который стоит отдельно.
Обратите внимание, что это элемент тела, который прослушивает событие. На короткой странице, кажется, не поймать его, если вы делаете событие в огромном непрорисованном пустом пространстве ниже. (Если кто-то знает об этом больше, пожалуйста, оставьте комментарий.)
<body id='body'>
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco
<script type="text/javascript" charset="utf-8">
body = document.getElementById('body');
// (in percents)
zoom = 100;
maxZoom = 200;
minZoom = 50;
zoomIncrement = 25;
function gestureEnd(event) {
var newZoom;
if (event.scale > 1.0) {
// increase size
newZoom = zoom + zoomIncrement;
} else {
// decrease size
newZoom = zoom - zoomIncrement;
}
// don't exceed zoom boundaries
if (newZoom > maxZoom || newZoom < minZoom) {
return;
}
zoom = newZoom;
body.style.webkitTextSizeAdjust = zoom+"%";
}
body.addEventListener("gestureend", gestureEnd, false);
</script>
</body>