如何使用UICollectionView实现7x7网格?这个网格在每个单元格之间没有空格,并且当它旋转时,单元格只需调整大小以适应屏幕,所以无论如何它总是7x7。
我已经完成了以下类,一个ViewController,一个Cell类,一个CollectionViewLayout类。
我最初的想法是我必须在CollectionViewLayout类中执行此操作,但我应该以哪些方法为目标?
答案 0 :(得分:0)
除了调整数据源方法以返回每个部分7个部分和7行之外,您还必须使视图控制器符合UICollectionViewDelegateFlowLayout
协议。
假设您不需要空格(将最小间距设置为0),则可以使用此方法调整单元格的大小:
-(CGSize)collectionView:(UICollectionView *)collectionView
layout:(UICollectionViewLayout *)collectionViewLayout
sizeForItemAtIndexPath:(NSIndexPath *)indexPath {
return CGSizeMake(self.collectionView.bounds.size.width/7.0,
self.collectionView.bounds.size.height/7.0);
}
实际上,要做到这一点,你还需要进行2次调整。首先,您应该对界面方向做出反应,如下所示:
-(void)didRotateFromInterfaceOrientation:
(UIInterfaceOrientation)fromInterfaceOrientation {
[self.collectionView.collectionViewLayout invalidateLayout];
}
其次,为了确保一个部分不会分成两行,您可能必须使用7.01
进行划分,而不是7.0
。