WKWebView внутри UIScrollView: прокручивание конфликта

контекст

У меня есть WKWebView который я программно встраиваю в UIView и этот UIView встроен в UIScrollView .

Чтобы визуализировать:

Иерархия взглядов сцены

и вот упрощенная версия того, что я сделал:

 UIScrollView | +---- UIView | | | +-- UIButton | | | +-- UILabel | +---- UIView | +-- WKWebView 

Я не хочу, чтобы WKWebView прокручивался, и я отключил его, введя следующий скрипт на странице.

 document.ontouchmove = function(event) { event.preventDefault(); } 


Проблема

В настоящее время прокрутка не работает, когда я WKWebView в WKWebView . Но как только я отступил назад в UIView выше, я могу снова прокручивать. Я добавил GIF ниже того, что произошло. Красный раздел – WKWebView а зеленый – UIView .

Проблема с прокруткой


Что я наделал

  1. Я отключил прокрутку с помощью scrollEnabled и он не работает, поскольку я все еще могу прокрутить WKWebview .

     webView.scrollView.scrollEnabled = false webView.scrollView.bounces = false 
  2. Внесите следующий javascript после загрузки веб-страницы (текущее решение)

     document.ontouchmove = function(event) { event.preventDefault(); } 
  3. Используйте статический UITableViewController для представления, но я все еще сталкивался с той же проблемой.


Рекомендации:

  • SO – Почему не должно быть UIWebView в UIScrollView?
  • SO – отключить прокрутку по UIWebView разрешено?

Interesting Posts

Что означает «Основной интерфейс» в Xcode на самом деле * сделать *?

Графическая анимация UITextField

Получите ширину сегодняшнего расширения iOS

Что делать с местным игроком, если приглашение принято? (Игровой центр)

Любые хорошие службы отчетов о сбоях для iOS

Подключение приложения iPhone к серверу в автономной сети

Время растяжения и сдвиг высоты тона с помощью IOS

exit при нажатии кнопки – iOS

Почему все методы имеют одно и то же имя в делегате?

Сообщение от отладчика: не удалось отправить k-пакет

Swift. Использование «self» в вызове метода перед инициализацией всех сохраненных свойств

Не удается вызвать методы делегирования / источника данных в реализации UITableView

UIControll в UIScrollView не получает события касания

Расчет расстояния iOS MapKit Использование CLLocation

Xcode зависает, когда он достигает точки останова, при тестировании на устройстве

Давайте будем гением компьютера.