我有一个WKWebView,我想覆盖整个屏幕。在没有物理主页按钮的较新设备上,iOS在“主页”下方添加了一个白色区域。我试图重写safeAreaInsets巫婆,使其内容可以在“homebar”下正常工作,但是id希望将top参数保留为其默认值。这是因为我在顶部的导航栏可以隐藏或显示。设置UIEdgeInsets(top: 0...可使WKWebView移到我的导航栏后面(很明显)。

无论如何,是否仅重写leftbottomright

import Foundation
import WebKit

class FullScreenWKWebView: WKWebView {
    override var safeAreaInsets: UIEdgeInsets {
        return UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 0)
    }
}

谢谢!

最佳答案

您能否通过将网络视图固定到 super 视图或安全区域来使用自动布局来解决此问题,具体取决于您想要的是什么?

无论如何,您可能会执行以下操作:

override var safeAreaInsets: UIEdgeInsets {
    let insets = super.safeAreaInsets
    return UIEdgeInsets(top: insets.top, left: 0, bottom: 0, right: 0)
}

09-28 13:39