我一直在寻找为iOS应用设置UICollectionView
的方法。谷歌只发布了一些博客,上面有关于 的帖子,而不是 的工作方式。当然,有Apple文档是有用的,但没有提供尽可能多的信息,因为我希望能够设置UICollectionView
。
如何设置UICollectionView
?
答案 0 :(得分:32)
uicollectionview类几乎与uitableview类完全相同。它们共享许多相同的方法和功能。如果方法/功能不同,大多数情况下只需要换掉“细胞”的“行”,反之亦然。但是,UICollectionView上有一些在UITableView上不存在的方法。首先,我将解释如何设置UICollectionView:
如果您使用的是View而不是ViewController,请确保CollectionView的委托和 DataSource 是它所在的视图控制器。还要确保将Delegate和DataSource添加到头文件中:<UICollectionViewDataSource, UICollectionViewDelegate>
接下来,请确保在视图控制器的类中包含这三种方法:
-(NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView
-(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
-(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
这些是唯一需要的方法。第一个告诉集合视图它应该具有的部分数量。这应该返回一个整数值。第二种方法获取每个部分中的单元格数。同样,这应该返回一个整数值。最后一个方法使用给定的数据(通常来自NSArray)填充每个单元格。最后一个方法应该返回一个CollectionViewCell。如果在此方法上设置断点,您会注意到为numberOfItemsInSection
方法中定义的每个单元格调用了一次断点。
UICollectionViews提供高级动画方法,允许取消选择和选择单元格(类似于“编辑”模式下的页面等应用程序)。但是,据我所知,UICollectionViews不提供“滑动删除”或类型的披露指标等功能。
UICollectionViews还允许您使用xib(AKA nib)文件创建自定义单元格,这允许一些非常先进且独特的界面,而无需大量复杂的代码。
可悲的是,UICollectionView仅在iOS 6及更高版本中受支持。有一些项目可用,例如PSTCollectionView,它在iOS 4.3+中添加了对CollectionViews的支持,但我还没弄清楚如何使用它们。在我的情况下,当视图加载时,我只检查UICollectionView类是否可用,如果不可用,那么我会加载一个表。
以下是关于Collection Views的Apple官方文档的链接。您可能还想查看此tutorial。
答案 1 :(得分:25)
我创建了一个循序渐进的tutorial,用于设置具有自定义布局的UICollectionViews。希望它能帮助一些人熟悉API。