2014-04-27 70 views
0

我想用自定義UICollectionViewCells實現側滾動UICollectionView。每個自定義單元格都包含一個應填充單元格的UIImageView。現在我設置像這樣的UIImageView的大小,如何使用填充單元格的UIImageView初始化自定義UICollectionViewCell?

-(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像第一次顯示時那樣出現?

回答

0

什麼如果THCVCell.m裏面,你加入這樣的事情:

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

這樣一來,如果小區發生了改變,大小,ImageView的將進行調整。

然後取出:

cell.imageView.frame = cell.bounds; 
+0

謝謝洛根!這是一個快速解決方案。我的應用現在完美運行。 – trvslhlt

+0

很高興聽到它的工作,與您的其他項目祝你好運! – Logan

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; 
} 
相關問題