Решение прокрутки javascript (iscroll4) для веб-просмотра в ios4 отменяет / отключает встроенное распознавание жестов - PullRequest
1 голос
/ 13 декабря 2011

В моем приложении для iPad у меня есть UIScrollView (горизонтальный ползунок - похожий на карусель изображений), который содержит несколько UIWebViews, каждый из которых занимает весь экран.Каждое веб-представление имеет верхнюю панель и вертикально прокручиваемый контент, который при необходимости следует прокручивать за панелью.Это делается в html и css с помощью position: fixed для head-bar.

Работает нормально в iOS5, но не работает в iOS4.Это известная проблема , и для этой проблемы существует несколько решений javascript, например, с веб-сайта doctyper или iScroll4 или сенсорной прокрутки (основанной на iScroll).

Эти решения прекрасно работают с вертикальной прокруткой.Теперь моя проблема в том, что я больше не могу проводить по горизонтали (от UIWebView до UIWebView), пока я начинаю жест смахивания внутри вертикально прокручиваемого div-контейнера (который занимает почти весь экран - за исключением нескольких пикселей с каждой стороны).Решения javascript, по-видимому, препятствуют распознаванию жестов горизонтальным пролистыванием из UIScrollView.

Я даже не уверен, что решение можно найти на стороне target-c или на стороне javascript или html.Любая помощь приветствуется.Даже если это просто подсказка в правильном направлении.Спасибо.

1 Ответ

0 голосов
/ 10 января 2012

Я нашел ответ на свой вопрос здесь . В iscroll-lite.js необходимо раскомментировать строку 60. А в строке 225 прямо под

timestamp = e.timeStamp || Date.now(); 

Вы должны добавить строку

if (Math.sqrt(deltaY * deltaY) > 3) {
    e.preventDefault();
}

Теперь я могу использовать прокрутку iscroll по вертикали и iOS-прокрутку по горизонтали.

...