UICollectionView单元大小ContentView问题

在单元格的故事板中有一个UICollectionViewCell。 前6个单元的单元大小为45个,最后一个单元的单元大小为50个。

故事板单元大小的宽度= 60。

在iOS模拟器4s上运行时,会发生以下问题。

在这里输入图像说明

如果您在位置2,4,6处看到单元格,则会出现UICollectionView的红色背景。

我在子类的layoutSubView中获得以下内容。

Frame = {{0, 0}, {50, 60}} Frame = {{0, 0}, {45, 60}} Frame = {{0, 0}, {45, 60}} Frame = {{0, 0}, {45, 60}} Frame = {{0, 0}, {45, 60}} Frame = {{0, 0}, {45, 60}} Frame = {{0, 0}, {45, 60}} - (void)layoutSubviews { [super layoutSubviews]; NSLog(@"Frame = %@",NSStringFromCGRect(self.bounds)); self.contentView.frame = self.bounds; } 

另外,在awakefromnib中添加了不起作用的大小。

 -(void)awakeFromNib{ [super awakeFromNib]; self.contentView.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin |UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth ; } 

以上印出的结果是正确的,尺寸是完美的。

在ViewController中添加以下内容也不起作用

 -(CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout minimumInteritemSpacingForSectionAtIndex:(NSInteger)section{ return 0.0; } -(CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout minimumLineSpacingForSectionAtIndex:(NSInteger)section{ return 0.0; } 

演示项目可以在url上使用一段时间。

我进一步调查发现是因为缩放模拟器。 屏幕是与4s模拟器。 我不知道是否在设备上会导致任何问题。

100%=>结果ok 75%=>出现红色背景线50%=>结果ok 33%=>结果ok 25%=>出现红色背景线

在这里输入图像说明 在这里输入图像说明 在这里输入图像说明 在这里输入图像说明 在这里输入图像说明

尝试像这样设置collectionView的约束 在这里输入图像说明