如何在我的webview加载结束之前显示启动图像?

时间:2017-02-20 09:10:46

标签: ios swift storyboard

我有一个LaunchImage资产,用于显示启动屏幕。我的问题是在启动图像消失后,我的初始视图控制器的webview开始加载内容。

那么,如何在我的webview加载结束之前显示我的启动图像?

我的配置:

enter image description here

enter image description here

4 个答案:

答案 0 :(得分:2)

您无法修改启动屏幕计时器或与“应显示多长时间”相关的任何内容。它不在您的掌控之中。

1:将代理方法添加到UIWebView webViewDidFinishLoad(_:)

2:将“启动屏幕”的副本显示为UIImageView或自定义UIView。当委托方法触发完成加载时,hide

  

注意在iOS 8及更高版本中运行的应用中,请使用WKWebView类   而不是使用UIWebView。另外,考虑设置   如果渲染文件,WKPreferences属性javaScriptEnabled为false   不应该运行JavaScript。

WKWebView代表:

webView(_:didFinish:)

答案 1 :(得分:0)

您无法控制发布时间。但是,您可以使用相同的启动图片创建自己的UIImageView覆盖屏幕,并在UIWebView完成加载后将其删除

答案 2 :(得分:0)

您应该尝试 button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { startActivity(new Intent(MenuActivity.this, GameActivity.class)); MenuActivity.this.finish(); } }); 的委托方法: -

UIWebView

使用UIImageView(包含你的启动图像),一直显示它直到你的UIWebView被完全加载。

答案 3 :(得分:0)

如果您不想创建与启动屏幕“相似”的单独UIImageView,则可以将视图控制器实例化为启动屏幕并使用它。

let sb = UIStoryboard(name: "Launch Screen", bundle: nil) // the storyboard of your launch screen
let vc = sb.instantiateViewController(withIdentifier: "launchScreen") // the storyboard id (remember to set it first!)

// present the vc
navigationController?.present(vc, animated: false, completion: nil)

// when you're done loading
vc.dismiss(animated: false, completion: nil)

但请注意,这不是一个很好的做法,因为您应该让用户现在该应用实际上正在做某事。考虑显示某种加载微调器或类似物。