一个视图中的两个或多个集合视图

时间:2013-06-18 16:20:58

标签: iphone ios xcode uiviewcontroller uicollectionview

我想在一个视图中有两个或更多的CollectionView(UIViewController“delegate / sourcedata”)。

enter image description here

我已经完成了一个并且它工作正常,但我希望在同一页面中有另一个与第一个不同的页面。我不需要部分,如果可能的话,我需要在一个页面中使用两个不同的CollectionView。我怎么能这样做?

2 个答案:

答案 0 :(得分:2)

没有什么可以阻止你这样做。您只需要单独创建它并提供必要的代码,以便在委托中处理每个代码。每个委托方法在每次调用时都会传递给它的collectionView,因此根据两个集合视图中哪一个处于活动状态来编写不同的代码并不是一个大问题。

例如,

- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section

第一个参数是进行调用的特定集合视图,因此您可以区分要为其返回的值。

如果您要处理这两个cvs的代码很多,您可能会考虑将它们子类化是否有意义,但这是一个不同的问题。

你将创建其中两个:

UICollectionView *cv1 = [[UICollectionView alloc] initWithFrame:CGRectMake(10.0f, 100.0f, 525.0f, 500.0f) collectionViewLayout:flowLayout];

UICollectionView *cv2 [[UICollectionView alloc] init ...

然后,您将每个添加为子视图。根据是否传入cv1或cv2来处理委托方法。虽然有点痛苦,但不应该是一个大问题。

答案 1 :(得分:0)

您可以直接拖放UICollectionView表单xib。如果它低于屏幕,那么你必须在该滚动视图中添加多个UICollectionView。