2013-06-12 8 views
1

주 번들에 이미지와 리소스가있는 UIWebView에 html 파일을로드하는 거의 모든 방법을 시도했습니다. 웹 페이지는 항상로드되지만 이미지를 표시 할 수는 없습니다.UIWebView 로컬 리소스 기본 번들 html 파일

background: url('image.png') 

나는 또한 응용 프로그램이 여전히 행운을 다른 방법을 사용하여 실행,하지만 때 파일이 번들에 존재한다는 것을 확신했습니다

NSString *html = [[NSBundle mainBundle] pathForResource:@"index" ofType:@"html"]; 
NSString *htmldata = [NSString stringWithContentsOfFile:html encoding:NSUTF8StringEncoding error:nil]; 
NSString *path = [[NSBundle mainBundle] bundlePath]; 

[webView loadHTMLString:htmldata baseURL:[NSURL URLWithString:path]]; 

HTML 코드는 CSS를 가지고있다. 누구든지 내 코드에 무슨 문제가 있는지 보지 ???

+0

http://stackoverflow.com/questions/6420925/load-resources-from-relative-path-using-local-html-in-uiwebview/8436281#8436281 – stosha

답변

2

loadHTMLString으로 직접 HTML을로드하는 대신 번들 파일에서 HTML을로드하는 작업을 웹보기에서 수행하도록 할 수 있습니다. 그렇게하면 상대 링크를 해결하기 위해 HTML이 어디서 왔는지를 알아야합니다.

예 :

NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"index" ofType:@"html"]]; 
[webview loadRequest:[NSURLRequest requestWithURL:url]]; 

나는 위의 테스트를하지 않은, 당신은 pathForResource 방법의 inDirectory 절을해야 할 수도 있습니다. 행운을 빕니다!

1

이 이전 게시물이지만, 나는이 작품을 만들 수있는 방법은 다음 줄을 변경하는 것입니다 생각 :

[webView loadHTMLString:htmldata baseURL:[NSURL URLWithString:path]]; 

에 :

[webView loadHTMLString:htmldata baseURL:[NSURL fileURLWithPath:path]]; 

주석과 jimbojw의 대답 방법을 역시 작동하지만 내 경우에 htmldata은 파일에서 검색되지 않고 대신 메모리에 있습니다.