当前位置: 首页 > 知识库问答 >
问题:

WkWebview加载时保持LaunchScreen

潘皓
2023-03-14

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

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

Q1.有没有一种解决方案可以在webview加载时保持启动屏幕?

Q2.或者有没有一种解决方案可以将WkWebview加载背景色改为白色为灰色?

共有2个答案

秦安怡
2023-03-14

是的,您可以创建自己的初始屏幕控制器,并在webview完成加载后将其取消。

步骤1-在ApplicationDidFinishLaunch方法上创建一个splashviewController并使其成为Windown的主RootViewController

步骤2-在web视图中开始加载URL并添加委托回调以查找网页已完成加载。

步骤3-从窗口中删除初始控制器,并将webviewController设置为rootController

希望这能消除你的疑虑。如果不让我知道

姬寂离
2023-03-14

A1.据我所知,没有这样的解决办法。

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

我希望这会有所帮助。

wkWebview.isOpaque = false
wkWebview.backgroundColor = .clear


//wkWebview.superview?.backgroundColor = .gray//to set background color of superview
 类似资料:
  • 问题内容: 我尝试在WKWebView上使用javascript加载本地HTML游戏。尽管我可以看到CSS样式的HTML页面,但是我听不到游戏的声音,并且某些游戏的动作不对应。 我注意到,如果我通过http live服务器加载完全相同的游戏,那么一切似乎都很完美。因此,我认为本地负载出了点问题。也许这一个Apache的问题可能是这个问题? Info.plist: 我的代码 (SWIFT 3) :

  • 问题内容: WKWebView没有加载链接。我将用户链接到隐私策略页面,并且该页面具有一组链接。链接都是wix托管的所有pdf文件。在safari和Chrome上可以使用,但不能在WKWebView上使用。页面加载后,单击链接,我得到一个错误: 这就是我加载网络视图的方式… 编辑:这与其他问题不同,因为我无意下载pdf-我只想以与Safari相同的方式显示它。 编辑:我只是用UIWebView替换

  • 问题内容: 我正在尝试捕获表单的“提交”按钮,如果表单已提交,页面将刷新,并显示一些隐藏的字段。我想捕获表单是否已经提交过,以及是否在重新加载时提交,我想取消隐藏隐藏字段。我试图使用全局变量来实现此目的,但是我无法使其正常运行。 这是我尝试过的: 关于此代码有什么问题的任何建议? 问题答案: 由于HTTP是无状态的,因此每次加载页面时,它将使用JavaScript中设置的初始值。您不能在JS中设置

  • 问题内容: 与UIWebView和WKWebView的早期版本(iOS 10和macOS 10.12)不同,本地文件的默认加载操作已从移至。同样,它也已成为在WKWebView中加载本地资源的默认功能。 我知道,并且是完全不同的,都已经在过去的工作- 在历史上是默认设置,选择的方法; 但是,似乎Swift的最新版本破坏了大多数(如果不是全部)解决方案。现在,解决方案似乎可以 使 目录层次结构 扁平

  • 问题内容: 我有以下代码片段,想知道是否有可能通过更新来实现此菜单行为: 步骤1.在鼠标悬停 链接1 -—>上,它将转换为1.5em到右侧(已设置); 第2步。在 链接1上, 单击---->菜单按钮也将保持在 页面重新加载时 已经平移的位置) ,直到单击新菜单按钮 (未设置)为止 ), 然后加载另一页 。 注意:“下一个/上一个”按钮的“代码”部分保持不变(或必须编辑,以保持其功能)。 note2

  • 我从某人那里下载了一个新的laravel项目进行测试。 使用php artisan service设置和运行后,locahost(http://localhost:8000/)继续缓慢加载,然后显示消息404未找到。 我尝试使用命令行php artisan serve——port=1010并运行http://localhost:1010/ 在broswer上,但它不起作用。 在broswer上运行