在 WkWebview 加载时保持 LaunchScreen

Posted

技术标签:

【中文标题】在 WkWebview 加载时保持 LaunchScreen【英文标题】:Keep LaunchScreen While WkWebview Load 【发布时间】:2021-03-15 13:05:20 【问题描述】:

我正在使用 WkWebview 制作 ios Webview 应用程序。 我的应用程序有自己的主题颜色(灰色)。 所以我的启动屏幕和网站的背景都是灰色的。 但是有一个问题。

我的应用程序屏幕颜色在启动屏幕结束和 webview 加载之间变为白色。

第一季度。 有没有可以在 webview 加载时保持启动屏幕的解决方案?

第二季度。 或者有没有可以将 WkWebview 加载背景颜色从白色改为灰色的解决方案?

【问题讨论】:

【参考方案1】:

是的,您可以创建自己的启动画面控制器,并在 webview 完成加载后将其关闭。

第 1 步 - 在 applicationDidFinishLaunching 方法上创建一个 splashviewController 并使其成为 rootviewController 的主要 window

第 2 步 - 开始在 Web 视图中加载 URL,并添加 delegate 回调以查找网页已完成加载。

第 3 步 - 从窗口中移除 Splash 控制器并将webviewController 设为rootController

希望这能消除您的疑虑。如果不告诉我

【讨论】:

【参考方案2】:

A1。据我所知,没有这样的解决方案。

A2。您可以将 WkWebView 放在另一个视图上(灰色背景)并使 WkWebView 透明,如下所示。所以你的 WkWebView 将是透明的,直到网页不会被加载。

我希望这会有所帮助。

wkWebview.isOpaque = false
wkWebview.backgroundColor = .clear


//wkWebview.superview?.backgroundColor = .gray//to set background color of superview

【讨论】:

只是将backgroundColor 设置为您想要的颜色(不清楚),但仍然设置isOpaque = false 为我消除了白色闪光。

以上是关于在 WkWebview 加载时保持 LaunchScreen的主要内容,如果未能解决你的问题,请参考以下文章

你好。我正在使用 Xcode 开发应用程序。 WKWebView 中的活动指示器在加载内容后保持旋转并且不停止或消失

通知内容扩展中的 WKWebView 在手机锁定时从不加载

在 UIView 中创建 WKWebView

WKWebView 在加载另一个 URL 时不会重新呈现内容

如何检查 wkwebview 是不是在 UItest 中完成加载

如何在 WKWebView 上加载 URL?