我在UIWebView中显示一个html页面,如下所示:
[webView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:[[NSBundle mainBundle]
pathForResource:@"index" ofType:@"html"]isDirectory:NO]]];
html包含对图像的引用:
<img src="ScreenshotTop.jpg" alt="Screenshot Top Part" />
我根本无法显示JPG(即使在设置baseURL时也会显示其他问题/答案)。但是,当我将图形的格式更改为PNG并引用该文件时:
<img src="ScreenshotTop.png" alt="Screenshot Top Part" />
一切顺利。这是否意味着UIWebView可以正确显示PNG,但不能与JPG一起使用?或者还有其他事情发生了吗?
(FWIW,我正在使用XCode 4.1和iOS模拟器4.3.2。)
答案 0 :(得分:1)
不要认为这与PNG
或JPG
图片有关。使用相对路径或file:
路径来引用图像不适用于UIWebView。相反,您必须使用正确的baseURL将HTML加载到视图中:
NSString *path = [[NSBundle mainBundle] bundlePath];
NSURL *baseURL = [NSURL fileURLWithPath:path];
[webView loadHTMLString:htmlString baseURL:baseURL];
然后您可以像这样参考您的图片:
<img src="myimage.png">
或者来自CSS内部:
background-image: url(loading.gif)
重要的是要注意应用程序包中的图像位于包的根目录下,即使您将它们放在项目的Images目录中也是如此。
查看here了解更多信息。