使用uiwebview中的本地html從相對路徑加載資源我有一個非常簡單的iOS應用程序,帶有uiwebview加載一個非常簡單的測試頁面(test.html):<html><body><img src="img/myimage.png" /></body></html>我將此test.html文件加載到我的Web視圖中:NSURL *url = [[NSBundle mainBundle] URLForResource:@"test" withExtension:@"html"];NSString *html = [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil];NSURL *baseUrl = [NSURL fileURLWithPath:[[NSBundle mainBundle] bundlePath]];[webView loadHTMLString:html baseURL:baseUrl];如果我在沒有相對路徑的情況下引用圖像并將引用的圖像放在根目錄下的根目錄下 - >在XCode中復制捆綁資源,這可以正常工作,但我不能讓它與我的html文件中顯示的相對路徑一起工作。必須有一種方法可以做到這一點,我有很多圖像,CSS,javascript文件,我想加載到webview中,我希望不必擁有根目錄中的所有內容,并且必須更改我的網站中的所有引用應用程序。
3 回答

長風秋雁
TA貢獻1757條經驗 獲得超7個贊
這是如何加載/使用具有相對引用的本地html。
將資源拖動到您的xcode項目中(我從我的finder窗口拖動了一個名為www的文件夾),您將獲得兩個選項“為任何添加的文件夾創建組”和“為任何添加的文件夾創建文件夾引用”。
選擇“創建文件夾引用..”選項。
使用下面給出的代碼。它應該像魅力一樣工作。
NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"index" ofType:@"html" inDirectory:@"www"]];
[webview loadRequest:[NSURLRequest requestWithURL:url]];
現在,html中的所有相關鏈接(如img / .gif,js / .js)都應該得到解決。
斯威夫特3
if let path = Bundle.main.path(forResource: "dados", ofType: "html", inDirectory: "root") { webView.load( URLRequest(url: URL(fileURLWithPath: path)) ) }

月關寶盒
TA貢獻1772條經驗 獲得超5個贊
我只是這樣做:
UIWebView *webView = [[[UIWebView alloc] init] autorelease]; NSURL *url = [[NSBundle mainBundle] URLForResource:@"index" withExtension:@"html"]; NSURLRequest* request = [NSURLRequest requestWithURL:url]; [webView loadRequest:request];
其中“index.html”相對引用圖像,CSS,javascript等。
- 3 回答
- 0 關注
- 656 瀏覽
添加回答
舉報
0/150
提交
取消