我有一个从故事板创建的UICollectionView,
我希望视图中每行有3个项目.我设法使用以下方法:
- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath { return CGSizeMake(collectionView.frame.size.width/3.6 , (collectionView.frame.size.height-100)/2); }
但是,如果我有6个项目,我有2行,每个3项.但是,当我有4个项目时,它将显示2行,每行2个项目.
是否可以将它们显示为2行,第一行包含3个项目,第二个包含1个?
在这里我做到了,我在UICollectionView上实现了UICollectionViewDelegateFlowLayout添加以下方法.它工作,使用它.
- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath { CGRect screenRect = [[UIScreen mainScreen] bounds]; CGFloat screenWidth = screenRect.size.width; float cellWidth = screenWidth / 3.0; //Replace the divisor with the column count requirement. Make sure to have it in float. CGSize size = CGSizeMake(cellWidth, cellWidth); return size; }
此方法用作屏幕大小宽度除以3.