我正在开发一个需要以下功能的应用程序。
- 从服务器下载多个图像文件。
- 将其显示为网格格式。
为满足以上要求,
我用 .xib 文件制作了自定义视图。并将其添加到滚动视图中。
但是不知道如何异步下载图像并将其显示在适当的位置。
我在网格样式中添加自定义视图的代码在这里。
-(void)LazyLoading_display_Objects_in_grid_style
{
for(int i=0; i<[imageListingArray count] ; i++)
{
NSArray *arr = [[NSBundle mainBundle] loadNibNamed:@"MyView" owner:nil options:nil];
MyView *myView = (MyView *)[arr objectAtIndex:0];
myView.frame = CGRectMake(x,y,width,height);
myView.imgPhoto setContentMode:UIViewContentModeScaleAspectFit];
myView.imageURL = [NSString stringWithFormat:@"%@",[[imageListingArray objectAtIndex:i] valueForKey:@"name"]];
[myView setBackgroundColor:[UIColor clearColor]];
if(myView.imgPhoto.image == nil)
[myView.actLoading startAnimating];
[myView.imgPhoto setTag:1000+i];
[myView setUserInteractionEnabled:TRUE];
myView.tag = 100+i;
[self.imageListingScrollView addSubview:myView];
if(current_no_of_object_in_row !=noOfObjectInColumn)
{
x =x + width + 8 ;
current_no_of_object_in_row ++;
}
else
{
current_no_of_object_in_row =1;
x = 5;
y = y+ height + 8 ;
}
scrollView_Height = y;
}
int temp = [imageListingArray count]%noOfObjectInColumn;
if(temp>0)
{
NSLog(@"No modulus");
y = y + height+ 10;
}
scrollView_Height = y;
NSLog(@"Scroll Height : %d",scrollView_Height);
[self.imageListingScrollView setContentSize:CGSizeMake(308, scrollView_Height+ 5)];
}