0

我有一个简单的 UICollectionView,只有四个单元格,使用 Flow 布局。我只想将单元格#4 向上移动 100px 左右。我是否必须对 Flow 布局进行子类化,甚至制作自定义布局才能做到这一点?

实现这一目标的最简单方法是什么?谢谢!请提供一些示例代码,我对布局和集合视图不是很熟悉。

4

2 回答 2

0

实现这个委托方法:

-(void)collectionView:(UICollectionView *)collectionView didEndDisplayingCell:(UICollectionViewCell *)cell forItemAtIndexPath:(NSIndexPath *)indexPath

然后,您可以更改所需特定单元格的框架

于 2013-09-19T11:33:12.640 回答
0

您可以调整单元格 #4 的大小,例如:

#pragma mark – UICollectionViewDelegateFlowLayout
- (CGSize)collectionView:(UICollectionView *)collectionView layout(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath
{
    if (indexPath.row == 4)
        return CGSizeMake(100, 100);
    return CGSizeMake(50, 50);
}

不要忘记在你的 .h 中实现“UICollectionViewDelegateFlowLayout”(你可以为 UICollectionView 添加其他的 Delegate 和 DataSource)

@interface MyViewController : UIViewController <UICollectionViewDelegate, UICollectionViewDataSource, UICollectionViewDelegateFlowLayout>

但是,如果您想子类化集合视图的布局,您可以按照在此处输入链接描述的示例

++

于 2013-09-19T12:10:57.113 回答