2010-07-26 2 views
0

Я загружаю изображения с url в webviews, но это показывает мне изображения, которые вырезаны. Я пробовал делать sizeToFit, но это показывает очень маленькое изображение, обрамленное слева в моем веб-браузере, так как большой размер и изображение в верхнем левом углу.Загрузка изображения из проблемы с url iphone

EDIT: Это «как я загружаю изображения в веб-просмотре. Здесь расширенный_photo - это веб-просмотр.

NSString *urlAddress = [NSString stringWithFormat:@"%@",photo_url]; 
    NSURL *url = [NSURL URLWithString:urlAddress];   
    NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];    
    [expanded_photo loadRequest:requestObj];     

Всякий раз, когда я пытаюсь загрузить его через UIImageView с использованием UIImage как следующий, вот expanded_photo является ImageView, который я создаю в файле бобов:

UIImage *image1 = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:photo_url]]]; 
expanded_photo.image = image1; 

Это занимает много времени для загрузки.

Я хочу решение, которое может загружать изображение с URL-адреса в течение небольшого промежутка времени, и изображение не разрезается.

Может ли кто-нибудь помочь?

Thanx заранее.

+0

Это способ загрузки изображений из URL. Что касается отображения изображения - я не понял, как вы его показываете. Это UIImageView? Если да, то отправьте код инициализации изображения. Почему вы говорите о веб-просмотре? Как это связано с вопросом? –

+0

В этом классе создайте асинхронное соединение. и сделать то же самое. Вы не можете это сделать? – Manjunath

ответ

0

Знайте, что - [NSData dataWithContentsOfURL:] загружает данные синхронно и тем самым блокирует основной поток до завершения загрузки. Когда вы загружаете несколько изображений таким образом, все эти операции загрузки выполняются последовательно. Это не только медленно, но и ваше приложение не отвечает во время загрузки.

Возможно, вы захотите перенести запрос фактической загрузки в фоновый поток (используя NSOperationQueue) или использовать NSURLConnection для асинхронной загрузки изображения.

+0

Thanx Ortwin для вашего ответа. В настоящее время я хочу показать это изображение только в основном потоке, но время, занятое сейчас, является моей проблемой прямо сейчас. Я также не хочу обрезанные изображения, которые показываются webview. – neha

+0

Можете ли вы уточнить, где вы теряете время? Является ли фактическая выборка временем или декодированием изображения? Это происходит для разных URL-адресов изображений, поэтому вы можете опустить проблему на стороне сервера? Вы загружаете только одно изображение? –

+0

В свое время я загружаю только одно изображение. Изображения не занимают столько времени при загрузке в webview, но когда я использую - [NSData dataWithContentsOfURL:], это занимает много времени. Вот почему я предполагаю, что декодирование занимает так много времени. – neha

Смежные вопросы