UIWebView может работать только с PNG вместо JPG? - PullRequest
1 голос
/ 06 ноября 2011

Я отображаю html-страницу в UIWebView следующим образом:

[webView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:[[NSBundle mainBundle]
   pathForResource:@"index" ofType:@"html"]isDirectory:NO]]];

html содержит ссылку на изображение:

<img src="ScreenshotTop.jpg" alt="Screenshot Top Part" />

Я не смог отобразитьJPG вообще (даже при настройке baseURL, как предлагали некоторые другие вопросы / ответы).Однако, когда я изменил формат изображения на PNG и сослался на этот файл следующим образом:

<img src="ScreenshotTop.png" alt="Screenshot Top Part" />

все работало нормально.Означает ли это, что UIWebView может правильно отображать PNG, но не может работать с JPG?Или что-то еще происходит?

(FWIW, я использую XCode 4.1 и iOS Simulator 4.3.2.)

1 Ответ

1 голос
/ 06 ноября 2011

Не думаю, что это связано с PNG или JPG изображениями.Использование относительных путей или file: путей для ссылки на изображения не работает с UIWebView.Вместо этого вам нужно загрузить HTML в представление с правильным baseURL:

NSString *path = [[NSBundle mainBundle] bundlePath];
NSURL *baseURL = [NSURL fileURLWithPath:path];
[webView loadHTMLString:htmlString baseURL:baseURL];

Затем вы можете ссылаться на ваши изображения следующим образом:

<img src="myimage.png">

Или из CSS, например:

background-image: url(loading.gif)

Важно отметить, что изображения в вашем комплекте приложений находятся в корне пакета, даже если вы поместите их в каталог Images в вашем проекте.

Проверьте здесь для более.

...