我在将使用 iOS 5 的 iPad 应用程序上使用 UIWebView 在本地 HTML 页面上显示本地图像和 css 样式表时遇到问题。
HTML页面本身显示出来并且布局很好,这很棒。但问题是它在应该通过图像的地方有空白方块,并且文本或任何地方的样式也没有显示。
我在 SO 上遇到了非常相似的问题,人们说使用 baseURL 将 HTML 加载到视图中,然后我使用他们问题的答案进行了操作。但图像和风格仍然没有通过。
NSString *htmlFile = [[NSBundle mainBundle] pathForResource:@"index" ofType:@"htm" inDirectory:@"html_files"];
NSString* htmlString = [NSString stringWithContentsOfFile:htmlFile encoding:NSUTF8StringEncoding error:nil];
NSString *path = [[NSBundle mainBundle] bundlePath];
NSURL *baseURL = [NSURL fileURLWithPath:path];
[web loadHTMLString:htmlString baseURL:baseURL];
UIWebView 是使用 Interface Builder 放置的,我在 .h 文件中将其作为@property(nonatomic, retain) IBOutlet UIWebView *web;
在我的html_files
文件夹中,我有:
- 索引.htm
- 图像(文件夹)
- 样式(文件夹)
使用以下代码,日志显示"index.htm", img, style
它告诉我它保持目录相同,但我什至仍然尝试放置然后链接到根目录中的图像,html_files
但仍然没有。
NSString *htmlPath = [path stringByAppendingPathComponent:@"html_files"];
NSArray *dirContents = [[NSFileManager defaultManager] directoryContentsAtPath:htmlPath];
NSLog(@"%@", dirContents);
然后在 index.htm 我链接到像这样的图像<img src="img/logo.jpg">
任何想法将不胜感激,谢谢。
编辑:在此处添加了项目链接:http ://www.filedropper.com/localhtml (它实际上只是一个带有 HTML 文件的 UIWebView,所以没什么大不了的)