Вы можете создавать подклассы UIWebView, только перезаписывая методы touchesMoved, touchesStarted, touchesEnded и touchesCancelled. Сделайте свое обнаружение пролистывания в этих методах, и пусть они вызовут [super ...], если вызов не принадлежит свайпу.
Проблема может заключаться в том, что обнаружение пролистывания не препятствует поведению UIWebView по умолчанию. Суперклассу также необходимо знать, когда касания начинаются, перемещаются, заканчиваются или отменяются. Таким образом, он может выполнить правильный выбор на делегате.
Таким образом, когда вы перезаписываете эти методы и не вызываете [super ...], или только если это не считывание, поведение самого UIWebView, вероятно, не определено. Вот почему я упоминал, что вы всегда должны вызывать [super ...] в своей собственной реализации.
Редактировать: ТАК не нравилось, когда я ставил строки между скобками «меньше» и «больше». Итак, в приведенном выше тексте, где бы я ни упоминал [super ...], пожалуйста, заполните штрихи «Начато», «Сенсор перемещен», «Сенсор закруглен» и «Отменен на точках» ...