Прокрутка с WKWebview с Swift 4 - PullRequest
0 голосов
/ 07 октября 2018

У меня есть WKWebview, правильно отображающий HTML-контент из локальных веб-файлов.HTML намного шире экрана, и мне нужно включить горизонтальную прокрутку.Это возможно только с WKWebview или мне нужно сделать WKWebview подпредставлением UIScrollView?

1 Ответ

0 голосов
/ 07 октября 2018

Добавьте Javascript, чтобы зафиксировать ширину и высоту экрана в зависимости от устройства.

Используйте этот код:

NSString *js = @"var metaTag=document.createElement('meta');"
"metaTag.name = \"viewport\";"
"metaTag.content = \"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\";"
"document.getElementsByTagName('head')[0].appendChild(metaTag);";

WKUserScript *script = [[WKUserScript alloc] initWithSource:js injectionTime:WKUserScriptInjectionTimeAtDocumentEnd forMainFrameOnly:YES];
[_WebView.configuration.userContentController addUserScript:script];

В Swift

let js = """
var metaTag=document.createElement('meta');\
metaTag.name = "viewport";\
metaTag.content = "width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0";\
document.getElementsByTagName('head')[0].appendChild(metaTag);
"""

let script = WKUserScript(source: js, injectionTime: .atDocumentEnd, forMainFrameOnly: true)
self.webView.configuration.userContentController.addUserScript(script)
...