我已经使用youtube的标准嵌入式网址(collections.Counter)在我的iOS 8.3应用中嵌入了一个Youtube视频,该网站按预期工作但看起来很奇怪。那个白色的间隙(视图树检查员的蓝色区域)不应该存在。
我可以确认它不是CSS问题,因为检查员显示它实际上占据了uiWebView组件的100%宽度和高度。
我对左边,上边和右边框设置了约束,以等同于窗口/布局指南,这也不是问题所在。似乎私有的_UIWebViewScrollView组件占用了我分配给UIWebView的所有高度,并将真实内容(UIWebViewBrowserView)推送到所述区域的底部。
我查看了滚动视图类的信息,但似乎只有网页文件散布在网上,没有真正的苹果文档,所以如果可能的话,我宁可不要乱用滚动视图。
似乎我的预感是正确的,另一个sample上有人描述了同样的问题,但是提到的修复问题的功能要么不再存在,要么现在是私有的。我还在寻找答案。
答案 0 :(得分:15)
我修好了。
override func viewWillLayoutSubviews() {
super.viewWillLayoutSubviews();
playerWebView.scrollView.contentInset = UIEdgeInsetsZero;
}
添加到我对问题的编辑,我忘记了快速更改设置并获取访问者变量的方法,如在C#中。
答案 1 :(得分:2)
Swift 3 :删除UIWebView中的默认空白顶部空间
override func viewWillLayoutSubviews() {
super.viewWillLayoutSubviews();
webView.scrollView.contentInset = UIEdgeInsets.zero;
}
答案 2 :(得分:0)
更新swift 3
webViewResetPassw.scrollView.contentInset = UIEdgeInsets.zero
答案 3 :(得分:0)
接受的解决方案对我不起作用。相反,这仅仅是因为我没有使用导航栏标题文本的空间。我通过添加displayMode: .inline
来摆脱它。
var body: some View {
VStack {
WebView(request: URLRequest(url: URL(string: url!)!))
}.navigationBarTitle(Text("Title"), displayMode: .inline)
}