带标题的collectionview配置

时间:2013-08-11 12:06:18

标签: ios objective-c uicollectionview

我有2个对象,让我们称它们为super和sub,每个超级对象都是一个独立的对象,但每个子对象必须包含该超级对象的属性。 现在我正在尝试配置集合视图

假设我有4个超级对象和70个子对象,我想为每个超级对象创建一个部分, 我想显示所有70个子对象(因为每个子对象都有超级属性)我想在相关的超级对象下组织这些子对象

现在我将所有子对象放入一个类似70个对象的数组中。 但我如何组织一切并使其动态化?因此,如果我将添加更多的子对象,他们将直接在他们正确的超级对象部分

基本上需要帮助配置这些:

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

-(NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView

2 个答案:

答案 0 :(得分:0)

您可以创建一个数组数组。

NSArray *subObjectArrays = [NSArray arrayWithObjects:subObjectArray1, subOjectArray2, subObjectArray3, subObjectArray4, nil];

其中subObjectArray1subObjectArray2subObjectArray3subObjectArray4是每个超级对象的不同数组。

numberOfItemsInSection方法中:

 -(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section{
  return  [[subObjectArrays objectAtIndex:section] count];
}

答案 1 :(得分:0)

基本上,你应该有一个数组数组,每个超级对象都有一个子数组。如果需要为每个超级对象提供更多信息,可以使用一个字典数组,每个字典都包含一个所有子对象的数组。

然后,要配置集合视图,您可以这样做:

-(NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView
{
    return [superObjects count];
}

-(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
{
   return [superObjects objectAtIndex:section] count];
}

如果需要添加更多超级或子对象,可以将它们添加到数据结构中,并在集合视图上调用reloadData