在 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 在加载另一个 URL 时不会重新呈现内容