셀을 선택하면 발급 많은 셀이 선택됩니다 셀을 선택하면 셀의 배경이 주황색으로 바뀝니다. 디자인을위한 xib 파일로 사용자 정의 셀을 만듭니다 (아주 간단한 것). 있는 viewDidLoad에서 사용자 정의 셀 클래스를 선언 - :UICollectionView : 나는 단지 하나의 내가 문제를 직면 시간의 걸릴 많이하지만, 문제를 알아낼 수 없습니다
[self.collectionView registerClass:[MyCustomCell class] forCellWithReuseIdentifier:@"MyCell"];`
- (UICollectionViewCell *)collectionView:(UICollectionView *)cv cellForItemAtIndexPath:(NSIndexPath *)indexPath {
MyCustomCell * myCell = (MyCustomCell*)[cv dequeueReusableCellWithReuseIdentifier:@"myCell" forIndexPath:indexPath];
myCell.lable.text = [arrayNumber objectAtIndex:indexPath.item];
return myCell;
}
을 선택한 경우 :
- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath {
// Get the cellForItemAtIndexPath and set the background coler of cell to orange
}`
그리고 일반적으로 많은 사람들이 같은 몇 가지 단계와 함께했던 내 DemoUICVViewController.m 파일에 내 UICollectionView에서이 셀을로드
섹션 반환 수 1, 섹션 반환 항목 수 10
UICollectionView의 모든 셀이 올바르게 표시됩니다. 그러나 셀을 선택하기 위해 탭하면 오렌지색뿐 아니라 다른 셀도 예를 들어 셀 5와 셀 9처럼 주황색으로 바뀝니다. didSelectItemAtIndexPath
은 한 번만 호출되고 오른쪽 인덱스에서는 한 번만 호출됩니다. 어떤 다른 세포들 또한 오렌지색 일 때 아주 이상합니다. 문제가 셀 식별자의 재사용성에 대한 것인지 확신 할 수 없지만 다른 사람이 조언을 해줄 수 있습니까?
이것은 셀 재사용 때문입니다. 그래서 그것에 대해 많은 답변이 있습니다, 그래서 몇 가지 검색 할 수 있습니다. – rdelmar
@rdelmar : 검색했지만 여전히 명확한 아이디어를 찾지 못했습니다. 왜 다른 셀에 오렌지가 나타나는 지요. 한 가지 유사한 질문이 있지만 명확한 대답은 없습니다. http://stackoverflow.com/questions/25446070/add-checkmark-image -in-cell-in-collectionview-issue-ios – SuzSky
하나의 클래스 (MyCustomCell)를 등록하고 있지만 대기열에서 제외 된 셀을 다른 클래스 (myCell)로 캐스팅 한 것처럼 보입니다. 또한 등록 된 재사용 식별자는 MyCell이지만 등록 해제시에는 myCell입니다. 이 오타가 귀하의 질문이나 실제 코드에 있습니까? – pbasdf