2016-10-26 1 views
0

내 UICollectionView에 문제가 있습니다.내 UICollectionView의 잘못된 IndexPath

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

+0

NSUInteger index = 0; (NSUInteger i = 0; i Larme

+0

두리스트가 분리 된 섹션의 일부인 경우'indexPath.srow'와 함께 indexPath.row'를 기반으로 인덱스를 계산할 수 있습니다. –

+0

이전 주석에서 현재 인덱스를 추가하는 것을 잊었습니다 :'index + = indexPath.row ' – Larme

답변

0

IndexPath은 셀이 어디에 있는지에 대한 정보를 collectionView에 제공합니다. 셀 인덱스는 sectionitem 속성에 의해 NSIndexPath에 식별 될 수 있습니다. 이러한 속성의 조합을 사용하여 정확한 위치를 식별하십시오.

0

필요가 값을 얻을 때 당신은 내가 모르는

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 
} 

이 예를 들어, 각 목록에서 tags을 사용하고 확인할 수 있습니다 얻을 수있는 방법이다 CollcetionViewCell의 새 세트를 상자에 넣으므로이 값을 지정하십시오. 섹션을 기반으로 추적 할 수도 있습니다.