加载url图像数组添加到UIcollectionview

时间:2015-12-15 09:14:20

标签: objective-c arrays uicollectionview

我想从Url加载图片数组并添加到UICollectionView

Tony.pageImages =imagearray;
[Tony reloadData];
NSLog(@"imagearray%@",imagearray);

Tony是Collection view.h / m文件。 pageImages文件NSMutableArrayTony.h。 Image数组显示控制台日志意味着我正确地获得了图像数组 那些是网址。 但是当我在UICollectionView方法上添加代码时,它无法正常工作

-(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath 
{

UICollectionViewCell *cell = 

[collectionView dequeueReusableCellWithReuseIdentifier:reuseIdentifier forIndexPath:indexPath];

UIImageView *CollectionViewImage = (UIImageView *)[cell viewWithTag:120];

CollectionViewImage.image= [UIImage imageNamed:self.pageImages[indexPath.row]];

 return cell;

}

我想念一下吗?

这是我的imagearray

imagearray = [[NSMutableArray alloc] init];

for (int i = 0;i < comment.count; i++) 

{

[imagearray addObject:comment [i] [@&#34; pic_url&#34;]];

}

3 个答案:

答案 0 :(得分:0)

您必须在viewcontroller中实现并设置以下dataSource委托UICollectionViewDataSource

- (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView {
    return 1;
}

- (NSInteger)collectionView:(UICollectionView *)collectionView
     numberOfItemsInSection:(NSInteger)section {
    return imagearray.count;
}

答案 1 :(得分:0)

如果我做对了,你需要从URL加载图片。 为此,只需添加以下代码:

[CollectionViewImage.image setImageWithURL:[NSURL URLWithString:self.pageImages[indexPath.row]] placeholderImage:nil];

或者,如果您想添加占位符图片,只需设置placeholderImage:[UIImage imageNamed:@"someImageInYourAssets"];

即可

答案 2 :(得分:-2)

NSData * imageData = [[NSData alloc] initWithContentsOfURL: [NSURL URLWithString:self.pageImages[indexPath.row]]];
UIImage *image = [UIImage imageWithData: imageData];
CollectionViewImage.image = image;

这是如何解决从url加载图像的问题,没有添加框架如“Heneke”,“AFNetworking”等等。在Objective C中,Image View无法直接与URL通信,但可以使用NSData作为Helper对象(包装)。