WkWebView在SwiftUI之后出现空格

问题描述 投票:0回答:1

我有一个问题,在WKWebView的内容(最底部的图片)之后会出现空格。我正在显示来自Facebook的几个实时流的分组,但是这个问题不断出现。我在Stackoverflow或其他网站上找不到任何解决方案。我的Web视图也正在缩放以适合主视图。这也都是在SwiftUI中完成的,我尝试添加偏移量,但随后按预期在视图底部添加了一个长长的空白区域。感谢您提供任何可能的帮助,因为我不确定原因是什么,也不确定这是Facebook问题还是我正在做的事情。谢谢。

这是在主体视图中显示Web视图的代码:

ScrollView {
            HStack {
                Text("Most Recent Livestream")
                    .font(.title)
                    .padding([.top, .leading])
                Spacer()
            }

            VStack {
                if (self.fb.showWebViews != false) {
                    fb.getwebView(index: 0).scaledToFit()
                }
            }

            VStack {
                if (self.fb.showWebViews != false) {
                    Text("\(fb.getVideoDate(index: 1))")
                    fb.getwebView(index: 1).scaledToFit()
                }
            }

            VStack {
                if (self.fb.showWebViews != false) {
                    Text("\(fb.getVideoDate(index: 2))")
                    fb.getwebView(index: 2).scaledToFit()
                }
            }

            VStack {
                if (self.fb.showWebViews != false) {
                    Text("\(fb.getVideoDate(index: 3))")
                    fb.getwebView(index: 3).scaledToFit()
                }
            }

            VStack {
                if (self.fb.showWebViews != false) {
                    Text("\(fb.getVideoDate(index: 4))")
                    fb.getwebView(index: 4).scaledToFit()
                }
            }

            Button(action: {
                print("LEARN MORE!")
            }) {
                Image(systemName: "questionmark.circle")
                Text("Want to view more livestreams?")
                    .foregroundColor(Color(.label))
            }.padding([.top, .leading])


            Spacer()
        }

这是网络视图代码:

struct WebView2 : UIViewRepresentable {
    // Instence Var of request URL
    var request: URLRequest

    // Creates the UIView of the WebView
    func makeUIView(context: Context) -> WKWebView  {

        return WKWebView()
    }

    // Updates the Webview
    /// With disable scrolling, backround becomes opaue, and reloads page with the quested URL
    func updateUIView(_ uiView: WKWebView, context: Context) {
        uiView.scrollView.isScrollEnabled = false
        uiView.isOpaque = false

        uiView.load(request)
    }
}

这里是带有间距的图片:Picture showing spacing after webview

swiftui webkit wkwebview
1个回答
0
投票

事实是,为了解决此问题,我要做的就是删除VStack中每个WebView上的.scaledToFit()。然后,在删除这些内容之后,我必须在[VStack]中的每个WebView上放置.frame(height: 233),以使所有内容完全显示,因为它们的高度始终为233。

© www.soinside.com 2019 - 2024. All rights reserved.