2010-06-14 1 views
1

Как мне настроить NSURL (какой путь или функция генератора путей), чтобы я мог отображать загруженный локальный файл (НЕ входит в приложение NSBundle) для использования в автономном режиме? Идея состоит в том, чтобы заглушить HTML-файл, очистить его и закрепить его в области хранения приложений, специфичной для iFoo, а затем использовать UIWebView для его отображения.HOWTO использует UIWebView для отображения загруженного файла позже?

Далее, я отправляюсь в RTFM о работе с файлами на iFoo (iPhone/iPad) в целом, но любые советы быстрого запуска оцениваются.

ответ

1

Вы можете прочитать свой локальный файл в строке после завершения его загрузки, а затем использовать UIWebView's loadHTMLString:baseURL: для загрузки HTML из этой строки. Используйте относительные пути и установите правильные значения baseURL:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *yourFolderPath = [[paths objectAtIndex:0] stringByAppendingPathComponent: @"yourFolder"]; 
NSString *filePath = [yourFolderPath stringByAppendingPathComponent: @"yourFile.htm"]; 
NSString *fileContents = [NSString stringWithContentsOfFile: filePath]; 
NSURL *baseURL = [NSURL fileURLWithPath: yourFolderPath]; 
[yourWebView loadHTMLString: fileContents baseURL: baseURL]; 
+0

Спасибо, это очень интересно. Тем не менее, я бы предпочел поместить HTML-файл и любой связанный CSS (и т. Д.) В каталог вместе (или то, что iFoo использует вместо каталога dir /. Я предполагаю, что реальная проблема по-прежнему сохраняется в файле (-ах), а затем предоставляет путь к этому типу. К сожалению, я слишком неосведомлен. (тем не менее, это классный трюк, и вы можете дать контекст/папку/dir для относительных путей из текста). – Roboprog

+0

@Roboprog Я отредактировал свой ответ для решения ваших проблем. Вы должны использовать относительные пути к файлам для вашего css и изображений в вашем html-файле, так что установка baseURL UHWebView's loadHTMLString позволяет искать файлы в указанной папке, на которую указывает этот файл. – luvieere

+0

Еще раз спасибо за обновление. Похоже, что NSDocumentDirectory (предположительно это вложенно в NSHomeDirectory как «./Documents») можно использовать для создания задания NSURL. Теперь создадим поддельный контент и попробуем его! – Roboprog