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的约束