UIWebView只能用于PNG而不是JPG吗?

时间:2011-11-06 17:47:44

标签: ios uiwebview png jpeg

我在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。)

1 个答案:

答案 0 :(得分:1)

不要认为这与PNGJPG图片有关。使用相对路径或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了解更多信息。