如何在iOS中预加载UIWebView?

时间:2018-12-01 14:48:27

标签: ios objective-c xcode uiwebview

我有SplashScreenController,它有进度条。我想在进度条结束时预加载Web视图。我也有WebViewController加载Web视图。

据我所知,我必须在SplashScreenController中加载Web视图。如何在SplashScreenController中获取WebViewController视图

3 个答案:

答案 0 :(得分:1)

您不能那样做。基本上,您需要做的是首先加载WebViewController,然后同时(例如在viewDidload上)将SplashScreenController加载为Modal。这样,您可以将消息从WebViewController发送到SplashScreenController(即,加载进度等)。

答案 1 :(得分:1)

以我的经验,除非UIWebView处于视图层次结构中,否则它不会开始加载内容。这并不意味着它必须可见,我通常将它们从屏幕上移开,仅在加载完成时才显示它们。您可以将UIWebView放在其他UIViewController中,只要已加载该VC。 “启动画面”可以停留在顶部,并且可以连接到与Web视图相同的VC或连接到另一个视图(我建议使用第二种方法)

答案 2 :(得分:0)

以webviewcontroller作为起点。开始下载网页内容。从上方,在整个屏幕上显示一个带有进度条的视图。完成进度条后,只需删除子视图。将保持webviewcontroller加载内容。使用启动画面时,您无法执行任何操作,因为只要存在,就不会在AppDlegate中调用didFindishLaunchingWithOptions方法并且该应用程序不存在