我的UICollectionView错误的IndexPath

时间:2016-10-26 14:57:14

标签: ios swift indexing uicollectionview uicollectionviewcell

我的UICollectionView出了问题。

我创建了包含2个列表的collectionView。 2个列表包含每个列表的标题。 例如,当我点击第一个列表中的第一个单元格时,我的代码发送给我 indexPath.item = 0 。一切都很正常。 但是当我点击第二个列表上的第一个索引时,我的索引也返回0,但我更喜欢它跟在第一个列表之后。

例如,如果我的第一个列表中有10个项目(indexPath 0 - > 9)我希望我的第二个列表中的第一个对象等于到10 而不是从头开始!提前谢谢。

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    if let cell = sender as? UICollectionViewCell,
      indexPath = collectionView?.indexPathForCell(cell),
      managePageViewController = segue.destinationViewController as? ManagePageViewController {
      managePageViewController.videoList = dataSource.pictureOfVideo
      managePageViewController.currentIndex = indexPath.item
    }
}

enter image description here

2 个答案:

答案 0 :(得分:0)

您可以在每个列表中使用tags,并在需要获取值时进行检查,例如

if (list.tag == 0 && indexPath.item = 0){
   //list 1 and indexPath.item is 0
} 

if (list.tag == 1 && indexPath.item = 0){
   //list 2 and indexPath.item is 10
}

我不知道是否有办法直接获得此值,因为您正在设置一组新的CollcetionViewCell。您也可以根据这些部分进行跟踪。

答案 1 :(得分:0)

单元格的

IndexPath会为您提供有关collectionView中所在位置的信息。可以通过section中的itemNSIndexPath属性来标识单元格索引。使用这些属性的组合来标识确切的位置。