UICollectionViewController 上自定义单元格设计的自定义布局
Posted
技术标签:
【中文标题】UICollectionViewController 上自定义单元格设计的自定义布局【英文标题】:Custom Layout for custom cell design on UICollectionViewController 【发布时间】:2013-07-27 05:27:37 【问题描述】:我想为 Ipad 设计一个这样的页面:
我决定通过 UICollectionViewController 来实现它,我打算第一次使用 UICollectionViewController。 我想知道,UICollectionViewController 让我有不同的单元格布局?我该怎么做?
【问题讨论】:
如果你只有那些视图(不是这些视图的重复模式),那么我认为集合视图不是要走的路——你必须继承 UICollectionViewFlowLayout 来进行安排像那样(假设您显示的每个矩形都是不同的单元格)。将它们作为单独的视图添加到控制器的视图中会更容易。 @rdelmar 有无限的单元格,所以我认为将使用集合视图!第一个细胞比另一个大。谢谢,我尝试制作一个新的集合布局... 【参考方案1】:是的,您可以为单元格设置不同的布局。
在您的 UICollectionView 中,您需要注册您将要使用的各种单元类:
[self registerClass:[Class1 class] forCellWithReuseIdentifier:@"Class1"];
[self registerClass:[Class2 class] forCellWithReuseIdentifier:@"Class2"];
然后在您的数据源委托中:
-(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
//无论你用什么逻辑来区分这两个类
cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"Class1" forIndexPath:indexPath];
//或
cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"Class2" forIndexPath:indexPath];
【讨论】:
我这样做了,但不起作用!它没有显示任何单元格 您是否让 CollectionView 与单个单元格类一起使用?此外,我同意 rdelmar 关于使用静态 UIView 而不是 UICollectionView 的评论,如果这些是您需要的唯一视图。 我使用了 nib 文件,所以要使用我的 nib 文件,我必须使用 [self.collectionView registerNib:[UINib nibWithNibName:@"MyCell" bundle:nil] forCellWithReuseIdentifier:@"CELL"];这显示了我的细胞,但这不是我的方法!我想我需要定义一个自定义布局来显示像附加图像一样的集合视图!以上是关于UICollectionViewController 上自定义单元格设计的自定义布局的主要内容,如果未能解决你的问题,请参考以下文章