我有这个滚动视图,我正在从URL加载几张图片。 问题是滚动视图除非全部加载,否则不会显示任何滚动视图。 我想在装载她的那一刻展示每一张图片。
我的代码如下:
-(void)loadPhotosToLeftscroll{
for (int count = 0 ; count < [leftPhotoArray count]; count++) {
NSLog(@"nextPhotoHight: %f",nextLeftPhotoHight);
NSMutableDictionary *photoDict;
photoDict = [leftPhotoArray objectAtIndex:count];
float photoHight = [[photoDict objectForKey:@"photos_height"]floatValue];
float photoWide= [[photoDict objectForKey:@"photos_width"]floatValue];
NSString *photoPath = [photoDict objectForKey:@"photos_path"];
NSData * imageData = [[NSData alloc] initWithContentsOfURL: [NSURL URLWithString:photoPath]];
UIImage *image = [[UIImage alloc] initWithData:imageData];
UIImageView *photoView = [[UIImageView alloc]initWithFrame:CGRectMake(10 , nextLeftPhotoHight, photoWide, photoHight )];
[photoView setImage:image];
[photoView.layer setMasksToBounds:YES];
[photoView.layer setCornerRadius:6];
nextLeftPhotoHight = photoView.frame.size.height + photoView.frame.origin.y + 10;
[leftBlockScroll addSubview:photoView];
}
}
答案 0 :(得分:1)
您最好使用异步方式来执行此操作。
相关主题是NSURLConnection,UIImageView。
我之前做过类似的事情。 1.创建一个继承到UIView的新模型 这个模型将有一个UIImageView,NSData 3.当您初始化模型时,传入URL 4.使用NSURLConnection发送AsynchroizedRequest 5.通过使用NSURLConnection委托,您将最终获得图像的数据 6.使用这些数据初始化UIImage 7.使用此图像初始化UIImageView 8.将此imageview添加到此模型或直接将此模型指向imageview随意询问更多细节:)