我有一个UIViewController,其中包含几个UIView(使用Interface Builder构建),其中包括一个我想用作WKWebView的视图。我已经能够创建WKWebView并将其加载为其中一个UIView的子视图,但是当我加载URL时,顶部和左侧会出现奇怪的填充。我在使用UIWebView时也遇到了同样的问题,但是通过使用 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 能够解决它。
self.automaticallyAdjustsScrollViewInsets = false;
然而,这似乎对动态加载的 WKWebView 没有任何帮助。
当从网络加载页面时,我也会遇到同样的填充,因此我知道这不是在我的本地 html 中。
编辑:我开始怀疑容器 UIView 中的自动布局是否导致了这个问题……
这是相关的代码:
var webView:WKWebView!
@IBOutlet var containerView : UIView?
@IBOutlet weak var webContainer: UIView!
override func loadView() {
super.loadView()
self.webView = WKWebView()
if(self.webView != nil){
self.containerView = self.webView!
self.containerView!.frame = self.webContainer.frame
self.webContainer.addSubview(self.containerView!)
}
}
override func viewDidLoad() {
super.viewDidLoad()
let bundle = NSBundle.mainBundle()
let url = bundle.URLForResource("index", withExtension: "html")
let request = NSURLRequest(URL: url!)
webView.loadRequest(request)
}
这就是它的外观。UIView容器的背景颜色是暗灰色 - 你也会注意到尽管我将WebView的框架设置为与UIView容器相同,但html似乎超出了UIView的范围: