首页 > 解决方案 > iOS:使 WebView 全屏(隐藏主页按钮后面的白色背景)

问题描述

iOS 开发新手。

内容视图.swift:

struct ContentView: View {
    var body: some View {
         WebView(url: "https://www.stackoverflow.com")
    }
}

WebView.swift:

struct WebView: UIViewRepresentable {
    
    var url: String
    
    func makeUIView(context: Context) -> WKWebView {
        guard let url = URL(string: self.url) else {
            return WKWebView();
        }
              
        let request = URLRequest(url: url)
        let wkWebView = WKWebView()
        wkWebView.load(request)
        wkWebView.allowsBackForwardNavigationGestures = true
        return wkWebView
    }
    
    func updateUIView(_ uiView: WKWebView, context: UIViewRepresentableContext<WebView>) {
      
    }
}

在主页按钮指示器后面产生一个白条:

白条

如何使 webview 全屏显示,以便主页按钮后面不再有白条?

标签: iosxcodewebviewwkwebviewhome-button

解决方案


您需要将 WebView 的底部空间设置为安全区域而不是 Superview 在这里选择视图

故事板示例

对于 SwiftUI 版本只是做

struct ContentView: View {
    var body: some View {
         WebView(url: "https://www.stackoverflow.com")
         .edgesIgnoringSafeArea([.bottom])
    }
}

推荐阅读