UIWebView 中的本地 html,带有来自资产目录的图像

Posted

技术标签:

【中文标题】UIWebView 中的本地 html,带有来自资产目录的图像【英文标题】:local html in UIWebView with images from Assets catalog 【发布时间】:2016-01-05 15:14:09 【问题描述】:

我正在尝试编写代码,将本地 html 字符串加载到 UIWebView 中,其中包含来自 Assets.xcassets 目录的图像。

目前,我从主包中加载图像,如下所示:

NSString *htmlString = [NSString stringWithFormat:@"<h1>My title</h1><img src='%@'/>", @"myImage1.png"];
[self.webView loadHTMLString:htmlString baseURL:[[NSBundle mainBundle] bundleURL]];

但是,对于使用不同视网膜版本的图像(@2 和@3)来说,这是非常有限的。 我想从资产目录加载图像,但不知道该怎么做。

在 html 字符串中提供了图像名称,我如何将图像从资产加载到 webView 中,同时支持 @2 和 @3 视网膜版本?

【问题讨论】:

【参考方案1】:

这是给定的代码,试试吧..

NSString *path = [[NSBundle mainBundle] bundlePath];

NSURL *baseURL = [NSURL fileURLWithPath:path];

[webView loadHTMLString:htmlString baseURL:baseURL]; ==> 喜欢一些图片:

================================================ ===================

这是加载/使用具有相对引用的本地 html 的方法。 使用下面给出的代码。

NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"index" ofType:@"html" inDirectory:@"www"]];

[webview loadRequest:[NSURLRequest requestWithURL:url]];

现在您在 html 中的所有相关链接(如 img/.gif、js/.js)都应该得到解析。

【讨论】:

这并没有解决如何使用资产目录中的图像。 检查试试看:***.com/questions/17052344/… 感谢您的回答,但这并不能回答问题。我不想将资产目录中的图像直接加载到 UIImage 中。我正在尝试将资产目录中的图像加载到 UIWebView 中的 html 中,同时解析视网膜尺寸。

以上是关于UIWebView 中的本地 html,带有来自资产目录的图像的主要内容,如果未能解决你的问题,请参考以下文章

UIWebView - Safari 中的强制导航

IOS - 来自本地HTML文件的WKWebView中的CORS

如何使来自 UIWebView 的音频静音

在 uiwebview 中使用本地 html 从相对路径加载资源

在 UIWebView 上定义事件

UIWebView 从本地文件系统加载 HTML 文件