使用UIWebView/WKWebView时奇怪的填充

Але*_*нов 8 css uiwebview ios wkwebview

侧面填充

在模拟器和真实设备上,我在页面的左侧和右侧获得此白色填充.另外我也想删除顶栏.我在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);

    }
Run Code Online (Sandbox Code Playgroud)

body { padding: 0; margin: 0; }在我开始在谷歌上测试之前,我也尝试添加到我自己的页面.我检查了Safari - 这是完美的谷歌图片.所以我所尝试的并没有帮助我.如何在WKWebView中删除左/右白色填充?

Bue*_*eno 9

看起来像开箱即用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)
Run Code Online (Sandbox Code Playgroud)

或者快速而肮脏的方式是只为视图添加内联样式.(我没试过这种方式)