У меня есть пользовательская клавиатура с WKWebView в полной ширине и высоте. Я отключил прокрутку через wkWebView!.scrollView.scrollEnabled = false
, но у меня все еще странное поведение прокрутки при двойном касании в нижней части WKWebView. Вот исходный код простой веб-страницы, которую я пытаюсь загрузить: http://is.gd/gt8h2q (очень простой, просто полный экран div с зеленым фоном и одна строка текста). Ниже, GIF в качестве объяснения. Вот как я создаю WKWebView:Отключить прокрутку с двойным нажатием на WKWebView
class KeyboardViewController: UIInputViewController, WKScriptMessageHandler {
var wkWebView: WKWebView?
override func loadView() {
super.loadView()
let contentController = WKUserContentController()
contentController.addScriptMessageHandler(self, name:"callbackTestOne")
let config = WKWebViewConfiguration()
config.userContentController = contentController
self.wkWebView = WKWebView(frame:self.view.frame, configuration:config)
self.view = self.wkWebView!
}
override func viewDidLoad() {
super.viewDidLoad()
(...)
wkWebView!.scrollView.bounces = false
wkWebView!.scrollView.scrollEnabled = false
wkWebView!.scrollView.backgroundColor = UIColor(red:248, green:248, blue:248, alpha:1)
wkWebView!.scrollView.opaque = true
wkWebView!.scrollView.showsHorizontalScrollIndicator = false
wkWebView!.scrollView.showsVerticalScrollIndicator = false
wkWebView!.scrollView.decelerationRate = UIScrollViewDecelerationRateNormal
}
(...)
Проблема еще не решена ... Я нашел грязный способ исправить: на моей локальной загруженной странице я использую jQuery для автоматического прокрутки вверх, когда положение прокрутки> 0. Код: '$ (window) .scroll (функция() {if ($ (window) .scrollTop()> 0) {$ (window) .scrollTop (0);};}); ' – Beny
Это настоящая проблема. То же самое происходит при добавлении WKWebView в приложение iMessage или расширение. – quemeful