在模拟器和真实设备上,我在页面的左侧和右侧获得此白色填充。另外我也想删除顶栏。我在Main.storyboard上有UIWebView / WKWebView:
我试图设置-20的约束值,但它什么都没有。 代码如下:
@IBOutlet var webView: WKWebView!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
self.automaticallyAdjustsScrollViewInsets = false;
let url = NSURL(string: "https://www.google.ru/");
var req = NSURLRequest(URL: url!);
webView.loadRequest(req);
}
并且在我开始在google上测试之前,我尝试将body { padding: 0; margin: 0; }
添加到我自己的页面。我检查了Safari - 这是完美的谷歌图片。
所以我所尝试的并没有帮助我。如何在WKWebView中删除那些左/右白色填充?
答案 0 :(得分:8)
看起来开箱即用WKWebView在body标签上设置了一个边距。您可以通过创建WKWebViewConfiguration并使用包含带边距为0的正文样式的配置添加初始化来删除它。
let config = WKWebViewConfiguration()
let bodyStyle = "body { margin:0; }"
let source = "var node = document.createElement(\"style\"); node.innerHTML = \"\(bodyStyle)\";document.body.appendChild(node);"
let script = WKUserScript(
source: source,
injectionTime: .AtDocumentEnd,
forMainFrameOnly: false
)
config.userContentController.addUserScript(script)
webView = WKWebView(frame: CGRectZero, configuration: config)
或者快速而肮脏的方式是只为视图添加内联样式。 (我没有尝试过这种方式)