预加载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放在层次结构中的viewDidLoad
或viewWillAppear
通过加载一个非常简单的“Hello World”文本文件来查找它的页面。 如果简单的文件需要很多时间,那么也许你的网页需要一些优化。
使用页面加载委托方法
– webViewDidStartLoad:
– webViewDidFinishLoad:
– webView:didFailLoadWithError:
要弄清楚,如果你对页面“不加载”的假设是正确的。
祝你好运。