Я пишу приложение iPhone с UIWebView, которое должно отображать различные html-файлы, которые у меня есть в папке ресурса приложения. В Xcode мой обзор проекта, эти HTML файлы отображаются следующим образом:iPhone dev: загрузить файл из папки ресурсов
dirA
|---> index.html
|---> a1.html
|---> a2.html
|---> my.css
|---> dirB
|---> b1.html
|---> b2.html
|---> dirC
|---> c1.html
|---> c2.html
Эти ресурсы, где добавлены к проекту, например:
- Checked «Копировать элементы в папку группы назначения (если это необходимо)» ,
- Тип ссылки: По умолчанию.
- Кодировка текста: Юникод (utf-8).
- Рекурсивно создавать группы для любых добавленных папок.
Ссылка в моем HTML относительна, то есть они выглядят следующим образом:
<a href="a1.html">a1</a>
<a href="a2.html">a2</a>
<a href="dirB/b2.html">b2</a>
<a href="dirC/c1.html">c1</a>
Чтобы отобразить index.html, когда приложение запускается, я использую следующий код:
NSString *path = [[NSBundle mainBundle] pathForResource:@"index" ofType:@"html"];
NSURL *url = [NSURL fileURLWithPath:path];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[webView loadRequest:request];
Это прекрасно работает. Следующие ссылки из файла индекса также отлично работают, если запрошенные html-файлы находятся непосредственно под dirA. Если ссылка связана с точками в файле в подкаталоге, то didFailLoadWithError
поймает ситуацию и сообщит, что запрошенный файл не существует.
Кроме того,
[webView loadHtmlString:myHtml];
не может быть частью решения, как мне нужно назад и вперед кнопки для работы в веб-представлении.
Итак, вопрос в следующем: как я могу следовать относительной ссылке на html-файл в подкаталоге в моих ресурсах?
В течение последних нескольких дней я все время сталкивался со стопкой и остальными трубами, пытаясь понять это, но нигде я не нашел решения этой точной проблемы. Любое понимание вообще было бы очень, очень ценится!
EDIT: Yoohoo! Я понял! Какая радость! Вот что я сделал:
- Импортировал ресурсы заново, выбрав «Создать ссылки на папки для любых добавленных папок» вместо «Рекурсивно создавать группы для любых добавленных папок».
- Описана корневого каталога ресурса, например, так:
NSString *path = [[NSBundle mainBundle] pathForResource:@"index" ofType:@"html" inDirectory:@"dirA"];
Да, спасибо. Как вы можете видеть мое редактирование (первоначального вопроса), я сам это обнаружил в течение нескольких часов. Кажется, нет «я, наконец, понял это сам» -бит. Ну что ж. Я просто дам вам кредит :-) – thomax
Я хотел бы получить тот же результат, но я уже добавил папки. Есть ли способ научить xcode организовывать это в папках впоследствии? – amok