2个UICollectionViews在一个具有不同数量的部分的UIViewController上

时间:2016-06-01 11:13:14

标签: ios objective-c uiviewcontroller uicollectionview uicollectionviewcell

是否可以在单个UICollectionViews中使用不同数量的段{2} UIViewController。我尝试过以下方式 -

- (NSInteger)numberOfSectionsInCollectionView: (UICollectionView *)collectionView 
{
    if (collectionView == cardscollectionView) 
    {
       return 2;
    }

    else
    {
       return 1;
    }
}

但它似乎不起作用。 UICollectionViews最终都有一个部分。与我问here非常相似。

2 个答案:

答案 0 :(得分:0)

请创建两个不同的两个collectionview对象 并尝试以下代码

-(NSInteger)numberOfSectionsInCollectionView:(UICollectionView*)collectionView
 {
  if([collectionView isEqual:self.firstcollectionView]){
      //return object count for firstCollectionView;
  }
  else if([collectionView isEqual:self.secondCollectionView])
  {
      //return object count for secondCollectionView;
  } 
}

答案 1 :(得分:0)

对我来说,似乎你期望你的if语句是真的,但事实并非如此。

你是如何为cardcollectionview创建插座的? 如果这个cardscollectionview有@property你应该使用类似的东西:

if (collectionView == self.cardscollectionView) {
    return 2;
   }
else
   {
    return 1;
   }
}

而且我不确定你的其他集合视图变量名是什么,让我们假设它被称为otherCollectionView,然后在我看来以下也不会工作,我怀疑两个视图都有3个部分使用此代码:

if (collectionView == cardscollectionView) {
    return 2;
   }
else if(collectionView == otherCollectionView)
   {
    return 1;
   }
}else{
    return 3;
}

首先检查cardscollectionview是否实际上是某个东西而不是一些未初始化的变量(nil)。您可以尝试使用标签来解决您的问题,但此方法的全部目的是为您提供发件人(collectionView),以便您确定我们在这里讨论的是哪一个。

至于我的awnser,请将cardscollectionView更改为self.cardsCollectionView