iScroll 4 — восстановить стандартную/собственную функцию масштабирования

У меня есть настройка, в которой мой прокручиваемый контейнер занимает всю ширину и высоту области просмотра. Я использую iScroll для прокрутки содержимого поверх фонового изображения. Пока работает нормально, и я не нашел лучшего решения для фиксированного фонового изображения (любые идеи были бы потрясающими :)). Проблема в том, что я больше не могу увеличивать страницу, потому что iScroll отключает ее для прокручиваемого контейнера, который в данном случае представляет собой весь экран. Есть ли способ вернуть родную функцию масштабирования? Я бы также выбрал «отчаянное» решение, которое изменяет библиотеку iScroll или даже другую библиотеку для прокрутки.


person insertusernamehere    schedule 01.07.2012    source источник


Ответы (2)


Для большинства мобильных устройств вы не сможете получить собственное масштабирование, поскольку iScroll переопределяет события touchstart и touchmove. Однако вы можете получить смоделированную версию, включив параметр масштабирования.

Из документации:

var myScroll = new iScroll('wrapper', { zoom: true });
person HoLyVieR    schedule 01.07.2012
comment
Спасибо за Ваш ответ. Я уже пробовал, но он вообще ничего не масштабирует. И я думал, что это будет увеличивать только прокручиваемую, а не всю страницу. - person insertusernamehere; 01.07.2012
comment
@insertusernamehere Работает ли у вас хотя бы масштабирование в демо-версии, которую они предоставляют в документации? - person HoLyVieR; 01.07.2012
comment
Да, в демо работает, но дергано, значит: масштабируешь, видишь результат, убираешь палец, пересчитывает и перерисовывает вид (проверено на iPad 3 с iOS 5.1) - person insertusernamehere; 01.07.2012
comment
@insertusernamehere Ну, что касается результата, это, вероятно, лучшее, что вы можете получить, потому что это все еще эмуляция масштабирования. Если это не работает так же на вашей странице, вероятно, на вашей странице есть проблема. Трудно сказать, что это такое, ничего не видя. - person HoLyVieR; 01.07.2012
comment
Я нашел родное решение. Но еще раз спасибо за вашу помощь, и, конечно, вы правы, это все еще лучшее, что вы можете получить для эмуляции. - person insertusernamehere; 02.07.2012
comment
И я также обнаружил, что: а) родное решение немного глючит… б) масштабирование не работает, потому что у меня установлено useTransform: false. Так что еще раз спасибо. Но все же стоит отметить: iScroll масштабирует только прокручиваемую часть, а не всю страницу. Что, конечно, хорошо для этой замечательной библиотеки. - person insertusernamehere; 06.07.2012

Итак, я нашел довольно хорошее решение, встроенное в iOS5:

overflow: scroll;
-webkit-overflow-scrolling: touch;

Это помогло мне в моем случае. Нет необходимости в дополнительной библиотеке прокрутки, и она имеет те же функции, что и раньше (прокрутка импульса, изменение размера и т. д.).

person insertusernamehere    schedule 02.07.2012