Как получить путь для добавления количества изображений, которые находятся в ресурсе для отображения в WebView в target-c - PullRequest
0 голосов
/ 21 декабря 2010

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

Пожалуйста, помогите мне выйти из этого.

Спасибо, Мадан Мохан.

Ответы [ 3 ]

3 голосов
/ 21 декабря 2010

Вы просто отображаете изображения по отдельности или у вас есть HTML-файл, который ссылается на них?

Чтобы получить URL-адрес файлов напрямую:

NSString *pathForImage = [[NSBundle mainBundle] pathForResource:@"image" ofType:@"png"];
NSURL *URL = [NSURL fileURLWithPath:pathForImage];

Если вы загружаетеHTML-файл, который ссылается на изображения (например, путем включения <img src="image.png"> без указания пути), а затем:

[webView loadHTMLString:htmlString
    baseURL:[[NSBundle mainBundle] resourceURL]];

РЕДАКТИРОВАТЬ: итак, предположим, что в вашем приложении в качестве ресурса был файл image.png, тогда вы могли бы сделать:

[webView loadHTMLString:@"<html><body><img src=\"image.png\"></body></html>"
    baseURL:[[NSBundle mainBundle] resourceURL]];
0 голосов
/ 21 декабря 2010

Следующий пример кода может решить проблему для вас .. Удачи!

NSData * image = [[NSMutableData alloc] initWithContentsOfFile:@"image.png"];
[self.webView loadData:image MIMEType:@"image/png" textEncodingName:nil baseURL:nil];
[image release];
[self.view addSubView:webView];
0 голосов
/ 21 декабря 2010

В вашем HTML для веб-просмотра сделайте

<img src="imagename">

Где imagename - имя файла изображения. В iPhone нет структур папок или чего-то подобного. Это означает, что даже если в XCode настроены группы или папки, во время выполнения все они объединяются в один гигантский каталог.

Если это не сработает сразу, посмотрите, что вы устанавливаете в качестве базового URL. Возможно, вам нужно установить для baseURL значение nil, чтобы напомнить, что телефон выглядит локально.

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