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