ios - 在 UIWebView 的本地 HTML 文件中加载本地镜像

标签 ios swift uiwebview

<分区>

我在这里尝试了很多其他答案,但我似乎无法弄清楚这个。我有一个嵌入了一些本地镜像的本地 HTML 文件。

我的文件夹结构是:

assets
>html
>>*.html
>>*.html
>>*.html
>media
>>*.jpeg
>>*.jpeg
>>*.jpeg

然后我使用

从 HTML 中请求图像
<img src="../media/sjolyst.jpg" alt="Sjølyst"/>

我加载网页 View 的代码非常简单,

var path = NSBundle.mainBundle().pathForResource(htmlFileName, ofType: "html")!
let data: NSData = NSData(contentsOfFile:path)!
var html = NSString(data: data, encoding:NSUTF8StringEncoding)

detailWebView.loadHTMLString(html as! String, baseURL: NSBundle.mainBundle().bundleURL)

这似乎和我在SO上看到的所有答案都一样。仍然,它呈现如下: :( 我该如何解决这个问题?

最佳答案

问题是,

您的应用无法确定您的资源在哪里,以及您的 html 在哪里。

为什么?因为你的html和资源都是bundle添加的,比较分散。您需要将所有内容放在一个文件夹中,以便可以访问您的资源。根据你的代码

<img src="../media/sjolyst.jpg" alt="Sjølyst"/>

您正在尝试相对获取图像,但在实际文件夹结构中没有 ../media

解决方案简单。

  1. 删除你所有的 html 东西,我猜是文件夹。
  2. 重新添加 HTML 文件夹,见图 enter image description here
  3. 您应该会看到如下图所示的文件夹

    enter image description here

你现在可以开始了。

通过添加在2.中提到的文件夹在包路径中创建一个文件夹,并将所有具有正确文件夹结构的资源放入其中。

希望这对您有所帮助。

干杯。

关于ios - 在 UIWebView 的本地 HTML 文件中加载本地镜像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29118280/

相关文章:

ios - 如何对 rxSwift 变量进行串行执行?

ios - UIWebView 不适合设备屏幕

ios - Swift UIWebView 初始缩放比例

iphone - 量化图像,保存剩余颜色列表

ios - 如何使用performSelector进行对象值分配

iphone - Objective c - 使用一个或多个 ViewController 在 View 之间翻转?

iphone - UIWebView 在第二个 pdf 加载请求时崩溃

ios - 相机节点随着 iOS 设备的移动而旋转

ios - 如何在 Xcode 中为大量现有的 swift 文件和类添加前缀

ios - Swift - 从另一个函数访问 UIView 的实例