如何使用填充单元格的UIImageView初始化自定义UICollectionViewCell?

时间:2014-04-27 22:32:37

标签: ios uicollectionview uicollectionviewcell

我正在尝试使用自定义UICollectionViewCells实现侧滚动UICollectionView。每个自定义单元格都包含一个应该填充单元格的UIImageView。现在我正在设置像这样的UIImageView的大小,

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

static NSString *cellID = @"cellID";
THCVCell* cell = [collectionView dequeueReusableCellWithReuseIdentifier:cellID forIndexPath:indexPath]; 
cell.imageView.image = [self.images objectAtIndex:(indexPath.row % [self.images count])];
cell.imageView.frame = cell.bounds;

return cell;  
}

但是UIImageView在单元格出列以供重用之前不会填充单元格。

我应该更改什么才能使UIImageView在首次显示单元格时显示?

2 个答案:

答案 0 :(得分:0)

尝试以下操作,这将使imageView在单元格调整大小时调整大小。

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

static NSString *cellID = @"cellID";
THCVCell* cell = [collectionView dequeueReusableCellWithReuseIdentifier:cellID forIndexPath:indexPath]; 
cell.imageView.image = [self.images objectAtIndex:(indexPath.row % [self.images count])];
cell.imageView.frame = cell.contentView.bounds;
cell.imageView.autoresizingMask = UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight;

return cell;  
}

答案 1 :(得分:0)

如果在THCVCell.m内,您添加了类似内容:

- (void) layoutSubviews {
    _imageView.frame = self.contentView.bounds;
}

这样,如果单元格改变大小,imageView将适应。

然后删除:

cell.imageView.frame = cell.bounds;