WKWebView ScaleToFit

Rob*_*Rob 3 iphone ios wkwebview ios9

从UIWebView移动到WKWebView,我无法弄清楚如何使用WKWebView大小的loadHTMLString函数来加载我正在加载的HTML以适应视图边界.我现在得到html加载,但它在我的视图的右侧和底部.如何缩放它以适合我的视图范围?

Fay*_*007 9

首先,在StoryBoard中获取容器视图,在该视图下,您将添加WKWebView作为子视图:

@IBOutlet var container: UIView!
Run Code Online (Sandbox Code Playgroud)

然后导入WebKit并初始化它,然后添加为容器的子视图.为了保留边界,您必须根据其父视图为其赋予约束值.这就是我做到的方式:

        let webView = WKWebView(frame: .zero)
        container.addSubview(webView)

        webView.translatesAutoresizingMaskIntoConstraints = false
        let height = NSLayoutConstraint(item: webView, attribute: .height, relatedBy: .equal, toItem: container, attribute: .height, multiplier: 1, constant: 0)
        let width = NSLayoutConstraint(item: webView, attribute: .width, relatedBy: .equal, toItem: container, attribute: .width, multiplier: 1, constant: 0)
        let leftConstraint = NSLayoutConstraint(item: webView, attribute: .leftMargin, relatedBy: .equal, toItem: container, attribute: .leftMargin, multiplier: 1, constant: 0)
        let rightConstraint = NSLayoutConstraint(item: webView, attribute: .rightMargin, relatedBy: .equal, toItem: container, attribute: .rightMargin, multiplier: 1, constant: 0)
        let bottomContraint = NSLayoutConstraint(item: webView, attribute: .bottomMargin, relatedBy: .equal, toItem: container, attribute: .bottomMargin, multiplier: 1, constant: 0)
        container.addConstraints([height, width, leftConstraint, rightConstraint, bottomContraint])

        let myURL = URL(string: "")
        let myRequest = URLRequest(url: myURL!)
        webView.load(myRequest)
Run Code Online (Sandbox Code Playgroud)

添加所需的网址,你就完成了.