今天在項目中遇到一個問題:我將H5的文件拖入項目中梅惯,在webView上添加H5,運行時發(fā)現(xiàn)H5的樣式與圖片等都沒
屏幕快照 2016-07-06 11.33.22.png
有了爱沟。經(jīng)過多種測試后發(fā)現(xiàn):是路徑的問題否灾。
在ios項目下添加本地HTML/js/css/image 當拖入項目時有兩種選擇:
一個是 Create groups for any added folders (創(chuàng)建虛擬結(jié)構(gòu)-包結(jié)構(gòu))
一個是 Create folder references for any added folders (創(chuàng)建實體結(jié)構(gòu))
- 如果選擇前者,當APP編譯過后引入的文件會被放在同一個文件夾下面會忽略你原本的文件夾稍算。因此在HTML文件中的路徑就會出現(xiàn)問題典尾。如果你選擇了前者那么HTML文件中引入CSS,js糊探,圖片等就不需要添加前綴路徑了钾埂,直接寫文件名就行河闰。
引入文件方式:
NSString * htmlPath = [[NSBundle mainBundle] pathForResource:@"index" ofType:@"html"];
NSString * htmlString = [NSString stringWithContentsOfFile:htmlPath encoding:NSUTF8StringEncoding error:nil];
NSURL *baseURL = [NSURL fileURLWithPath:[[NSBundle mainBundle] resourcePath]];
[self.webView loadHTMLString:htmlString baseURL:baseURL];
- 如果選擇后者,當APP編譯過后引入的文件會按照原本的目錄結(jié)構(gòu)存放褥紫,這個時候就需要添加相對路徑姜性。
引入文件方式:
[self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"huaiha/index.html" relativeToURL:[[NSBundle mainBundle] bundleURL]]]];