iOS WebView空白处

iOS WebView blank gap

我使用 youtube 的标准嵌入 url (sample) 在我的 iOS 8.3 应用程序中嵌入了一个 Youtube 视频,它按预期工作但看起来很奇怪。那个白色间隙(视图树检查器上的蓝色区域)不应该在那里。

我可以确认这不是一个 CSS 问题,因为检查器显示它实际上占据了 uiWebView 组件的 100% 宽度和高度。

我对左、上和右边界设置了约束以等同于 window/layout 参考线,所以这也不是问题所在。似乎私有 _UIWebViewScrollView 组件占用了我分配给 UIWebView 的所有高度,并将实际内容 (UIWebViewBrowserView) 推到所述区域的底部。

我在滚动视图上查找了信息 class 但似乎只有头文件分散在网络上,没有真正的苹果文档,所以如果可能的话我不想弄乱那个滚动视图。

看来我的预感是对的,有人在另一个 question also regarding a scrollview 上描述了同样的问题,但提到的解决问题的功能要么不再存在,要么现在是私有的。我还在寻找答案。

我修好了。

  override func viewWillLayoutSubviews() {
    super.viewWillLayoutSubviews();

    playerWebView.scrollView.contentInset = UIEdgeInsetsZero;
  }

添加到我对问题所做的编辑中,我忘记了 swift 更改访问变量的设置和获取方法,就像在 C# 中一样。

Swift 3: 移除UIWebView

中默认的空白顶部space
override func viewWillLayoutSubviews() {
    super.viewWillLayoutSubviews();

    webView.scrollView.contentInset = UIEdgeInsets.zero;
}

更新 swift 3

webViewResetPassw.scrollView.contentInset = UIEdgeInsets.zero

接受的解决方案对我不起作用。相反,这只是因为我没有使用的导航栏标题文本 space 。我通过添加 displayMode: .inline.

摆脱了它
    var body: some View {
        VStack {
            WebView(request: URLRequest(url: URL(string: url!)!))
        }.navigationBarTitle(Text("Title"), displayMode: .inline)
    }