Мое приложение должно загрузить изображение из 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
Должно быть:
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];
Попробовать
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];
Всего наилучшего.