item的间距总是调整不好,记录点遇到的问题
UICollectionViewFlowLayout *flowLayout= [[UICollectionViewFlowLayout alloc]init];
CGFloat w = 50;
CGFloat h = w;
CGSize size = CGSizeMake(w, h);
flowLayout.itemSize = size;
flowLayout.scrollDirection = UICollectionViewScrollDirectionVertical;
_collectionView = [[UICollectionView alloc]initWithFrame:CGRectMake(0, 0 , 310, 100) collectionViewLayout:flowLayout];
-(CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout minimumInteritemSpacingForSectionAtIndex:(NSInteger)section
{
return 0;
}
//cell中
-(void)layoutSubviews{
[super layoutSubviews];
NSLog(@"%@",NSStringFromCGRect(self.frame));
}
/**
现在itemsize大小是 50 * 50,collectionView的宽是310
item的间距设置为0,那么打印结果
{{156, 0}, {50, 50}}
{{104, 0}, {50, 50}}
{{52, 0}, {50, 50}}
{{0, 0}, {50, 50}}
而且显示确实有间距
如果collectionView的宽改为300 300/50是刚好的,这时候显示item就没有间距,打印也对
{{150, 0}, {50, 50}}
{{100, 0}, {50, 50}}
{{50, 0}, {50, 50}}
{{0, 0}, {50, 50}}
*/
我们设置的间距是最小间距,系统根据collectionview宽度item大小等再次计算。
要正确修正这些东西,可以。。。待续