来自MainBundle或文档目录的loadHTMLString。可能吗?

时间:2016-06-08 21:07:17

标签: ios objective-c

在UIWebView中显示html文件时,是否可以首先尝试从DocumentsDirectory加载图像,如果它不存在,从主包加载?

原因是我从服务器动态加载html文件并将其存储在本地,并希望对图像执行相同的操作。通常,会添加图像,下面的img标记代码只会加载包中的图像,而不会加载下载图像所在的文档目录。

提前致谢

<img src="myImage.jpg"/>

[self.webView loadHTMLString:htmlString baseURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] bundlePath]]];

2 个答案:

答案 0 :(得分:0)

我认为你需要的是这段代码

-(void) loadWebView
{
    NSString *termsFilePath = [[NSBundle mainBundle] pathForResource:@"terms_conditions" ofType:@"html"];
    NSError *err = nil;
    NSString *html = [NSString stringWithContentsOfFile:termsFilePath
                                               encoding:NSUTF8StringEncoding
                                                  error:&err];

    [webView loadData:[html dataUsingEncoding:NSUTF8StringEncoding] MIMEType:@"text/html" textEncodingName:@"utf-8" baseURL:[NSURL URLWithString:@""]];

}

希望这有助于你

答案 1 :(得分:0)

<img src="file:///Users/MyMac/Library/Developer/CoreSimulator/Devices/A6780B96-2F9C-418A-BE5C-5A8136A1B9C4/data/Containers/Data/Application/11245AB0-8736-4931-980C-951604F1CB8B/tmp/myImage.jpg">

如您所见,您需要将图像路径设置为<image>标记的src属性。路径应该是file://,我尝试没有file://并且图像没有显示。希望这会有所帮助。