2015-03-18 3 views
4

Я пробовал много других ответов здесь, но я не могу понять, как это понять. У меня есть локальный HTML-файл, который содержит некоторые локальные изображения.Загрузите локальные изображения в локальный HTML-файл в UIWebView

Моя структура папок:

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

и я прошу изображения из HTML с

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

Мой код для загрузки веб-просмотра довольно простой,

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. Тем не менее, он выглядит следующим образом: :( Как я могу исправить эту проблему?

+0

[проверьте это] (http://stackoverflow.com/questions/6147747/load-image-in-local-html-file-uiwebview). Надеюсь, поможет. –

ответ

10

Проблема заключается в том,

Ваше приложение не может выяснить, где ваши ресурсы, и где ваш HTML является.

Почему? Потому что ваш html и ресурсы добавляются в расслоение, которое разбросано. Вам нужно поместить все в одну папку, чтобы ваши ресурсы были доступны. В соответствии с вашим кодом

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

Вы пытаетесь извлечь изображение относительно, но в реальной структуре папок нет ../media.

Решение Простой.

  1. Удалите все ваши html вещи, я думаю, папка.
  2. Повторно добавьте папку HTML, см изображение enter image description here
  3. Вы должны увидеть папку, как изображение ниже

    enter image description here

Теперь вы хорошо идти.

Добавив папку, указанную в 2., создайте папку в пучке пакетов и поместите весь ресурс с правильной структурой папок внутри него.

Надеюсь, это поможет.

Cheers.

+0

Быстрое и простое решение :) – milanpanchal