2012-10-02 66 views
0

我有一個應用程序,目前正在爲支持iOS 5.0及更高版本的iPhone開展工作。該應用程序本質上是一個基於信息的應用程序,使用滑動視圖控制器類似於路徑& Facebook。將新視圖推入堆棧的表視圖。我選擇在UIWebView中顯示一些內容,該內容從包中本地加載多個HTML文件,主要是因爲這些信息是靜態的,並且允許我非常容易地進行樣式設置。從應用程序包中預加載HTML文件在UIWebView中顯示之前

沒有什麼喜歡我如何做它。發送視圖控制器通過必要的HTML文件的名稱,具體取決於在表格視圖中選擇的indexPath.row。 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觸摸。在iPhone 5上,UIWebView加載本地HTML文件相當快,正如您所期望的那樣,但在舊設備上填充它時會有延遲。

有沒有辦法在顯示ViewController的viewDidLoad方法之前預加載HTML文件?

回答

0

使其中u要預加載HTML文件的方法推後,即視圖控制器

-(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 *objViewController = [ViewController alloc]init]; 
//here newView is pushed in navigation or add SubView 
[objViewController loadHTMLFiles:yourHTMLFileName]; 
0

我懷疑,如果你只是讀文件到一個NSData對象,然後釋放對象,這將有很大的幫助。這個想法是將文件加載到文件系統緩存中,所以當Web視圖想要讀取它們時,它們已經存在。首先嚐試做它最簡單的事情。

相關問題