I have a UICollectionViewCell in storyboard the cell. The cell size is 45 for first 6 cells and 50 for the last cell.
Storyboard cell size has width = 60.
The following issue occurs when running on iOS Simulator 4s.
If you see the cell at location 2,4,6 there is a red background of UICollectionView.
I get the following in layoutSubView of the subclass.
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; }
Also, added the resizing in awakefromnib which did not work.
-(void)awakeFromNib{ [super awakeFromNib]; self.contentView.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin |UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth ; }
The above result which is printed is correct, the sizes are perfect.
Adding the following in ViewController also did not work
-(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; }
A demo project is available for some time at url.
On further investigation I found was because of scaling simulator. The screens are with a 4s simulator. I don't know if on device it will cause any issue.
100% => result Ok 75% => red background lines appear 50% => result Ok 33% => result Ok 25% => red background lines appear