Корректный способ загрузить изображение в UIWebView от объекта NSData

Я загрузил изображение gif в объект NSData (я проверил содержание объекта NSData, и он определенно заполняется). Теперь я хочу загрузить то изображение в свой UIWebView. Я попробовал следующее:

[webView loadData:imageData MIMEType:@"image/gif" textEncodingName:nil baseURL:nil];

но я получаю пустой UIWebView. Загрузка изображения от того же URL непосредственно хорошо работает:

NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:imageUrl]];
[imageView loadRequest:request];

Я должен установить textEncodingName на что-то, или я делаю что-то еще неправильно?

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

Править: Возможно, я должен перенести свое изображение в HTML так или иначе? Существует ли способ сделать это, не имея необходимость сохранять его на диск?

17
задан rustyshelf 14 May 2010 в 01:23
поделиться

2 ответа

Вы можете попробовать назначить делегата веб-просмотру и реализовать метод:

- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error

Чтобы более конкретно узнать, какую ошибку вы получаете. Если он не вызывается, также реализуйте метод:

- (void)webViewDidFinishLoad:(UIWebView *)webView

, просто чтобы убедиться, что что-то происходит, в противном случае может возникнуть проблема с UIWebView (при условии, что у вас нет 'не вернули NO из webView: shouldStartLoadWithRequest: navigationType: )

1
ответ дан 30 November 2019 в 11:26
поделиться

На самом деле я не пытался загрузить изображение в UIWebView, но поиск в Google дает мне это. Думаю, ваше изображение strin g должен иметь правильный путь и выглядеть как URL

NSString *imagePath = [[NSBundle mainBundle] resourcePath];
imagePath = [imagePath stringByReplacingOccurrencesOfString:@"/" withString:@"//"];
imagePath = [imagePath stringByReplacingOccurrencesOfString:@" " withString:@"%20"];

NSString *HTMLData = @"
<h1>Hello this is a test</h1>
<img src="sample.jpg" alt="" width="100" height="100" />";
[webView loadHTMLString:HTMLData baseURL:[NSURL URLWithString: [NSString stringWithFormat:@"file:/%@//",imagePath]]];

Вы можете увидеть более подробную информацию здесь: Загрузка локальных файлов в UIWebView

6
ответ дан 30 November 2019 в 11:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: