我有一个UICollectionView,我已经将一些自定义单元格作为我的网格主菜单。我已经覆盖了sizeForItemAtIndexPath方法来调整单元格的大小,但是单元格内的图像视图仍然保持与原来相同的大小(我想在大小检查器中)。
我也尝试在cellForItemAtIndexPath()中调整imageview的大小,但什么都没发生。
MainMenuViewCell.m
-(id)initWithFrame:(CGRect)frame
{
self=[super initWithFrame:frame];
if (self)
{
self.menuImage=[[UIImageView alloc]init];
//i have tried here to resize it but nothing was happened
[self.contentView insertSubview:self.menuImage atIndex:0];
}
return self;
}
-(void)prepareForReuse
{
[super prepareForReuse];
[self.menuImage setImage:nil];
[self setNeedsLayout];
}
-(void)layoutSubviews
{
[super layoutSubviews];
self.contentView.bounds=CGRecctMake(0,0,self.bounds.size.width,self.bounds.size.width);
menuImage.frame=CGRecctMake(0,0,self.bounds.size.width,self.bounds.size.width);
}
MainMenuController.m
-(UICollectionViewCell *) collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPAth
{
MainMenuViewCell *itemCell=(MainMenuViewCell *)[self.collectionView dequeueReusableCellWithIntifier:@"menuItem" forIndexPath:indexPath];
itemCell.menuImage.image=[UIImage imageNamed:@"test"];
return itemCell;
}
-(CGSize*) collectionView:(UICollectionView *)collectionView layout:collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPAth
{
return screen width / 2;
}