在iphone中的html文件中显示图像

时间:2010-11-22 06:41:50

标签: html objective-c ios4

大家好 我想从IPHone中的HTMl文件加载图像 但我无法做到这一点 请编辑我的代码 -

UIWebView *webView=[[UIWebView alloc]initWithFrame:CGRectMake(10, 50, 650, 768)];
NSString *path=[[NSBundle mainBundle]pathForResource:@"Rough" ofType:@"html"];
NSString *fileContents=[[NSString alloc]initWithContentsOfFile:path];

[webView loadHTMLString:fileContents baseURL:nil];
[self.view addSubview:webView];

& .html是 -

<HTML>
<BODY>
<img src=”HomePage.png”>
</BODY>
</HTML>

我如何在WebView中显示此图像。

1 个答案:

答案 0 :(得分:1)

好吧,你将baseURL设置为nil。如果你想加载图像,肯定你必须指定它,或者它怎么知道“HomePage.png”在哪里?

HomePage.png存储在哪里?在互联网上,还是在应用程序包中?如果网址存储在应用套件中,请使用file://网址,如果网址已存储,请指定正确的网址。

更新:根据您的评论,您似乎将基本网址设置为.app软件包的顶级。

按要求填写完整的代码。

我假设你有这个目录布局:

YourApp.app/
  Contents/
    Resources/
      Rough.html
      Images/
        HomePage.png
      ...

因此,您的baseURL都需要设置为资源网址,并且HTML中的<img>标记需要Images/属性中的src

NSBundle *mainBundle = [NSBundle mainBundle];
NSString *resourcesURL = [[mainBundle bundleURL]
                              stringByAppendingString:@"Contents/Resources"];
NSString *htmlURL = [resourcesURL stringByAppendingString:@"/Rough.html"];

NSString *htmlString = [NSString stringWithContentsOfURL:htmlURL
                                                encoding:NSUTF8StringEncoding
                                                   error:NULL];

UIWebView *webView = [[UIWebView alloc]initWithFrame:CGRectMake(10, 50, 650, 768)];
[webView loadHTMLString:htmlString baseURL:resourcesURL];
[self.view addSubview:webView];

HTML应该是:

<html>
  <body>
    <img src="Images/HomePage.png" alt="Your placeholder text" />
  </body>
</html>

(未测试的)

PS:在几乎所有编程语言中,卷曲引号“和”与ASCII双引号“和”不同。使用它们要小心。