预加载webView不起作用 – 试图减less加载时间

我有一个webView的viewController我显示本地的HTML文件。

问题是,加载前需要几秒钟,因此我试图避免这个等待时间。

到目前为止,我认为最好的方法是:一旦我进入主页面,我将开始加载文件到webView,这样当我进入infoViewController与webView它已经加载。

这里是代码:

//mainViewController.m: tempInfo = [[InfoViewController alloc]initWithNibName:@"InfoViewController" bundle:nil]; [tempInfo.webView123 loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:[[NSBundle mainBundle]pathForResource:@"About" ofType:@"htm"]isDirectory:NO]]]; tempInfo.test =@"test"; 

正如你所看到的,我也添加了一个testingvariables,当我进入infoViewController时,webView没有加载,但testingvariables改变了值。 这意味着它正在传递testingvariables的值,但不会将html文件加载到webView中。

任何想法?

我假设你正在使用iOS。

WebView并不便宜,而作为SDK一部分提供的不如本地Safari窗口。

你的variables被修改的原因是loadRequest是asynchronous的。

您正在有效地要求Webview从冷启动和加载您的网页。 该页面将在未来完成加载。 您可以通过实施适当的委托方法来了解何时。

有些事情你可能想尝试。

如果您的视图控制器是一次性的(使用和放弃),请尝试在initWithNibName加载请求,并将webview放在层次结构中的viewDidLoadviewWillAppear

通过加载一个非常简单的“Hello World”文本文件来查找它的页面。 如果简单的文件需要很多时间,那么也许你的网页需要一些优化。

使用页面加载委托方法

– webViewDidStartLoad:

– webViewDidFinishLoad:

– webView:didFailLoadWithError:

要弄清楚,如果你对页面“不加载”的假设是正确的。

祝你好运。