大家好 我想从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中显示此图像。
答案 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双引号“和”不同。使用它们要小心。