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)
}
我使用 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
中默认的空白顶部spaceoverride 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)
}