XCode iPhone Programming: Загрузка jpg в UIImageView от URL

Мое приложение должно загрузить изображение из http сервера и отображения его в UIImageView
Как я могу сделать это??
Я попробовал это:

NSString *temp = [NSString alloc];
[temp stringwithString:@"http://192.168.1.2x0/pic/LC.jpg"]
temp=[(NSString *)CFURLCreateStringByAddingPercentEscapes(
    nil,
    (CFStringRef)temp,                     
    NULL,
    NULL,
    kCFStringEncodingUTF8)
autorelease];


NSData *dato = [NSData alloc];
 dato=[NSData dataWithContentsOfURL:[NSURL URLWithString:temp]];
 pic = [pic initWithImage:[UIImage imageWithData:dato]];

Этот код находится в viewdidload представления, но ничто не отображено! Сервер работает, потому что я могу загрузить XML-файлы из него. но я не могу отобразить то изображение!
Я должен загрузить изображение программно, потому что оно должно измениться в зависимости от переданного параметра!Заранее спасибо. Antonio

21
задан cdespinosa 24 March 2010 в 21:41
поделиться

2 ответа

Должно быть:

NSURL * imageURL = [NSURL URLWithString:@"http://192.168.1.2x0/pic/LC.jpg"];
NSData * imageData = [NSData dataWithContentsOfURL:imageURL];
UIImage * image = [UIImage imageWithData:imageData];

Как только у вас есть переменная image, вы можете бросить ее в UIImageView через свойство image, то есть:

myImageView.image = image;
//OR
[myImageView setImage:image];

Если вам нужно экранировать специальные символы в исходной строке, вы можете сделать:

NSString * urlString = [@"http://192.168.1.2x0/pic/LC.jpg" stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding];
NSURL * imageURL = [NSURL URLWithString:urlString];
....

Если вы создаете UIImageView программно, вы делаете:

UIImageView * myImageView = [[UIImageView alloc] initWithImage:image];
[someOtherView addSubview:myImageView];
[myImageView release];
82
ответ дан 29 November 2019 в 06:09
поделиться

Попробовать

NSURL *url = [NSURL URLWithString:@"http://192.168.1.2x0/pic/LC.jpg"];
 NSData *data = [NSData dataWithContentsOfURL:url];
UIImageView *subview = [[UIImageView alloc] initWithFrame:CGRectMake(0.0f, 0.0f,320.0f, 460.0f)];
[subview setImage:[UIImage imageWithData:data]]; 
[cell addSubview:subview];
[subview release];

Всего наилучшего.

3
ответ дан 29 November 2019 в 06:09
поделиться