使用 Swift 4 滚动 WKWebview
Posted
技术标签:
【中文标题】使用 Swift 4 滚动 WKWebview【英文标题】:Scrolling with WKWebview with Swift 4 【发布时间】:2018-10-07 18:21:04 【问题描述】:我有一个WKWebview
正确显示来自本地网络文件的 html 内容。 html 比屏幕宽得多,我需要启用水平滚动。仅使用WKWebview
是否可行,还是我需要将WKWebview
设为UIScrollView
的子视图?
【问题讨论】:
【参考方案1】:添加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];
在斯威夫特中
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)
【讨论】:
不幸的是,我不太了解 Objective-C。你能用 Swift 4 回答吗?以上是关于使用 Swift 4 滚动 WKWebview的主要内容,如果未能解决你的问题,请参考以下文章
Swift-4 MacOS检测鼠标滚轮滚动到NSTextField?
我的带有自动布局约束的 Swift 4 UIScrollView 没有滚动
在 Swift 中使用 UIScrollView 进行无限循环滚动