Загрузка веб-страницы в UIwebview, но изображения из местных - PullRequest
1 голос
/ 13 апреля 2011

У меня есть веб-страница с тысячами изображений и значений. Всякий раз, когда я загружаю страницу в UIWebView, она загружается со значениями, но поскольку изображений так много, загрузка занимает много времени.

Так есть ли способ, я могу загрузить страницу из Интернета, но изображения из местных.

Любая помощь очень ценится.

Спасибо,

Ankita

Ответы [ 3 ]

4 голосов
/ 13 апреля 2011

Если у вас есть ваш HTML с веб-сервера и изображения на локальном

  1. yourBaseURL = [[NSURL alloc] initFileURLWithPath: [[NSBundle mainBundle] bundlePath]];

  2. [webView loadHTMLString: @ "YourHTML" baseURL: yourBaseURL]

и ваш HTML содержит название локального изображения, хранящегося как

Изображение как тег -> imgage src = 'fig1.jpg width = 150 height = 150 align = "left"

Чем это должно работать.

Не совсем так, как вам требуется, хотя вы можете загружать локальные изображения в webView.

1 голос
/ 13 апреля 2011

В основном:

Скачать HTML с сервера.

NSURL *URL = [[NSURL alloc] initWithString:@"http://www.example.com/page.php"];
NSError *error = nil;
NSStringEncoding encoding;
NSString *theSource = [[NSString alloc] initWithContentsOfURL:URL usedEncoding:&encoding error:&error];

Замените ссылки на файлы для локальной загрузки изображений.
Обратите внимание на двойную косую черту, это кажется важным.

// Replace:
<img src="File.png">
// By something like:
<img src="file://Path//To//Resources//File.png">

Подробная информация, как это сделать (проверить сообщение от Джо Д'Андреа):
Ссылка на ресурсы внутри WebView - iPhone

Наконец, заставьте UIWebView загрузить HTML:

[webView loadHTMLString:htmlString baseURL:baseURL];

Теперь он должен загрузить «свежий» HTML с сервера с локальными изображениями.

0 голосов
/ 04 июля 2012

Для меня это очень хорошо работает.

NSURL *myBaseURL = [[NSURL alloc] initFileURLWithPath:[[NSBundle mainBundle] bundlePath]];
NSString *myString = [[managedObject valueForKey:@"long_presentation"] stringByReplacingOccurrencesOfString:@"/FooFolder/BarFolder" withString:[NSString stringWithFormat:@"%@/FooFolder/BarFolder", [[NSBundle mainBundle] bundlePath] ] ];
[attractionWebView loadHTMLString:myString baseURL:myBaseURL];

Мне пришлось включить замену источника изображения

img src="FooFolder/BarFolder/my_image.jpg" ...

, чтобы получить правильный путь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...