使用集合视图垂直滚动,我们有2列,每行有2个单元格。 我们想制作一个特定的单元格来占据整个行的位置,这样这行就会在屏幕的宽度上有一个单元格。
问题是,当你这样做时,它可以工作,但是你必须将所有其他单元格推到下一个位置,所以单元格4需要一个全宽度:
0 1
2 3
4--
5 6
如何以更方便的方式推动所有细胞前进/做到这一点?
-(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
if(indexPath.item ==4)
cell.frame=CGRectMake(cell.frame.origin.x, cell.frame.origin.y, [UIScreen mainScreen].bounds.size.width, cell.frame.size.height);
我可以更改数据源,但这似乎不对,特别是如果你多次这样做。
答案 0 :(得分:1)
- (CGSize)collectionView:(UICollectionView *)collectionView
layout:(UICollectionViewLayout*)collectionViewLayout
sizeForItemAtIndexPath:(NSIndexPath *)indexPath
{
if(indexPath.row==4)
return CGSizeMake([UIScreen mainScreen].bounds.size.width, 0.36*[UIScreen mainScreen].bounds.size.height);
else
return CGSizeMake(0.4*[UIScreen mainScreen].bounds.size.width, 0.36*[UIScreen mainScreen].bounds.size.height);
}