如何自动定标WKWebView的内容?

时间:2015-09-28 11:17:50

标签: ios xcode swift2 wkwebview wkwebviewconfiguration

要在Swift中使用旧的WebView自动缩放网页,我所要做的就是:

var w:UIWebView
w.scalesPageToFit=true

我找不到WKWebView的等效方法,网页在我的应用中看起来太大了。如何自动调整WKWebView的内容?

- 我正在使用Xcode 7和Swift

2 个答案:

答案 0 :(得分:5)

这是我的解决方案:

{{1}}

答案 1 :(得分:0)

这对我有用,如果有更简单或更清洁的方式,请告诉我们。在这个例子中,每当设备的屏幕方向改变时,我都会调整WKWebview的大小,将代码放在ViewController中。在我的情况下,我加载的网站已经可以在浏览器中自动进行自动调整,并且使用此代码,它也将在WKWebView中调整大小:

    onViewDidLoad{

        // other initialization code here...

        screenWidth=UIScreen.mainScreen().bounds.width
        screenHeight=UIScreen.mainScreen().bounds.height
    }

      var screenWidth:CGFloat=0
      var screenHeight:CGFloat=0
      func resizeAccordingToOrientation(){
            if UIDevice.currentDevice().orientation.isLandscape.boolValue {
                var frame:CGRect = webView!.frame;
                frame.size = CGSizeMake(screenHeight, screenWidth-getNavBarHeight())//w,h !!!
                frame.origin.x=0
                frame.origin.y=getNavBarHeight()
                webView!.frame = frame;
                //print("Origin x: "+(webView?.frame.origin.x.description)!+" , "+(webView?.frame.origin.y.description)!)
            }
            else{
                var frame:CGRect = webView!.frame;
                frame.size = CGSizeMake(screenWidth,screenHeight-getNavBarHeight()-self.navigationController!.navigationBar.frame.origin.y)
                frame.origin.x=0
                frame.origin.y=getNavBarHeight()+self.navigationController!.navigationBar.frame.origin.y
                webView!.frame = frame;
                //print("Origin x: "+(webView?.frame.origin.x.description)!+" , "+(webView?.frame.origin.y.description)!)
            }
        }


    func getNavBarHeight() -> CGFloat{
            return self.navigationController!.navigationBar.frame.size.height
        }