我有一个我正在为iPhone工作的应用程序,它将支持iOS 5.0及更高版本。该应用程序本质上是一个基于信息的应用程序,它使用类似于Path& amp;的滑动视图控制器。 Facebook的。将新视图推送到堆栈的表视图。我选择在UIWebView中显示一些内容,这些内容从包中本地加载大量HTML文件,主要是因为信息是静态的,它允许我非常容易地设置样式。
我对自己的表现一无所知。发送视图控制器根据在表视图中选择的indexPath.row传递必要HTML文件的名称。 Webview在viewDidLoad方法中填充如下:
[_detailsWebView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource: _htmlFile ofType:@"html"] isDirectory:NO]]];
该应用程序支持iOS 5及更高版本,这意味着我正在关注iPod touch第三代和第四代iPhone 3GS,iPhone 4和4S以及iPhone 5和新款iPod touch。在iPhone 5上,UIWebView加载了本地HTML文件而非正常,但是在旧设备上填充它会有延迟。
有没有办法在转到显示ViewController的viewDidLoad方法之前预加载HTML文件?
答案 0 :(得分:0)
制作一个你想要预加载HTML文件的方法,即ViewController
-(void)loadHTMLFiles:(NSString*)htmlFile
{
//I assume u have set IBOutlet of detailsWebView
[_detailsWebView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:htmlFile ofType:@"html"] isDirectory:NO]]];
}
现在推送你的newView即ViewController:
[ViewController *objViewController = [ViewController alloc]init];
//here newView is pushed in navigation or add SubView
[objViewController loadHTMLFiles:yourHTMLFileName];
答案 1 :(得分:0)
我怀疑如果您只是将文件读入NSData对象,然后释放该对象,这将有很大帮助。想法是将文件加载到文件系统缓存中,因此当Web视图想要读取它们时它们已经存在。首先尝试这是最简单的事情。