gpt4 book ai didi

ios - 让 WKWebView 覆盖整个屏幕

转载 作者:行者123 更新时间:2023-11-28 11:37:03 27 4
gpt4 key购买 nike

我有一个 WKWebView,我想覆盖整个屏幕。在没有物理主页按钮的较新设备上,iOS 在“主页栏”下方添加了一个白色区域。我试图覆盖 safeAreaInsets 女巫工作正常,使内容进入“homebar”,但我喜欢将 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)
}
}

谢谢!

最佳答案

所以我想通了,天哪,我错了。结果证明这不是约束的问题,而是 WKWebView 如何在安全区域呈现页面。我发现我的 WKWebView 覆盖了整个屏幕,但没有在主页栏/槽口下渲染背景。 html中定义了深绿色。

iPad with wkwebview that didn't cover the whole screen

我的解决方案是禁用 WKWebViews 的内置调整。

webView.scrollView.contentInsetAdjustmentBehavior = .never

我还为我的 WKWebView 创建了两个具有不同优先级的顶级约束。一个到 safeArea,一个到 superView。然后,当导航栏可见时,我更改代码中的优先级,以便页面不会在导航栏下呈现。

结果: Result with no bar对 superView 有约束

Result with bar对 safeArea 有限制

关于ios - 让 WKWebView 覆盖整个屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54882659/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com