В настоящее время у меня есть приложение с UIWebView, в котором есть прокручиваемый div со свойством webkit-overflow-scrolling:touch. Когда боковое меню открыто, я помещаю наложение (еще один элемент div) поверх содержимого, чтобы создать эффект затемнения.
Проблема в том, что когда меню открыто (и оверлей на месте), когда пользователь перемещается, прокручиваемый div фактически прокручивается, когда оверлей должен останавливать эту форму.
Теперь, в iOS7, решение состояло в том, чтобы добавить webkit-overflow-scrolling:touch; к накладке. Это работает как шарм, но в iOS8 это не так.
Вот ссылка на пример проблемы. При запуске на iOS 7 он работает как положено, при запуске на iOS 8 содержимое сзади будет прокручиваться.
.scrollable {
width:100%;
height:200px;
-webkit-overflow-scrolling:touch;
overflow:scroll;
}
.overlay {
position:absolute;
width:100%;
overflow:scroll;
height:200px;
-webkit-overflow-scrolling:touch;
background-color:black;
opacity:.5;
transform: translate3d(0,0,0);
-webkit-transform: translate3d(0,0,0);
z-index:10;
}
https://jsfiddle.net/SergioM/57f2da87/9/
Я также попытался установить для свойства overflow-x прокручиваемого элемента div значение hidden/auto, когда меню открыто, но это добавляет ужасное мерцание.
Любое предложение будет высоко оценено.
Спасибо.