You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

iOS WebView相机预览无法填满预览区域的问题排查与解决咨询

相机预览无法填满WebView中的指定区域(iOS WKWebView + react-webcam)

我有一个包含相机预览框和拍摄按钮的网页,但相机预览画面无法填满整个预览框(已在附图中用红色标记预览画面)。将手机旋转至横屏后,无论横屏还是竖屏状态下预览都能正常显示。

以下是我的WebView代码:

struct MyWebView: UIViewRepresentable {

    let urlString: String?

    public let result : ((Result) -> Void)

    func makeUIView(context: Context) -> WKWebView {
        let config = WKWebViewConfiguration()
        config.userContentController = WKUserContentController()
        config.allowsInlineMediaPlayback = true

        if #available(iOS 9.0, *) {
            config.requiresUserActionForMediaPlayback = false
        } else {
            config.mediaPlaybackRequiresUserAction = false
        }

        // Set user controller
        let webView = WKWebView(frame: .zero, configuration: config)
        config.userContentController.add(MyWebViewHandler(result: result), name: "WebViewMessageHandler")
        
        return webView
    }

    func updateUIView(_ uiView: WKWebView, context: Context) {
        guard let url = urlString else {
            debugPrint("URL is empty")
            return
        }
        uiView.load(url)
    }

}

相机预览未填满区域

如何确保相机预览能覆盖指定的全部区域?任何见解或建议都将不胜感激,谢谢!


更新:
我们在前端侧找到一个临时解决方法,使用的是react-webcam库。相机本身的画面是正常的,但预览无法填满区域。我们的做法是:点击按钮启动相机,但故意添加1秒延迟后再在预览中显示相机画面,这似乎解决了问题。目前仍不清楚为何旋转屏幕或延迟显示预览能解决该问题,我会保留此问题以等待后续解答。


内容的提问来源于stack exchange,提问作者theAshutoshAJ

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 10:57:38