선택한 셀을 강조 표시하거나 색칠하는 코드가 포함 된 가로 컬렉션 뷰가 있습니다. 선택한 셀을 강조 표시 한 다음 5 셀마다 강조 표시됩니다. 무슨 일이 일어나고 있는지 아십니까?UICollectionViewCell 선택 셀 5 개를 선택/강조 표시
- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath
{
for(int x = 0; x < [cellArray count]; x++){
UICollectionViewCell *UnSelectedCell = [cellArray objectAtIndex:x];
UnSelectedCell.backgroundColor = [UIColor colorWithRed:0.2 green:0.5 blue:0.8 alpha:0.0];
}
UICollectionViewCell *SelectedCell = [cellArray objectAtIndex:indexPath.row];
SelectedCell.backgroundColor = [UIColor colorWithRed:0.2 green:0.5 blue:0.8 alpha:1.0];
cellSelected = indexPath.row;
NSLog(@"%i", cellSelected);
}
재사용 할 수있는 세포로 인해 발생하지만, 나는 당신을 잃어 버렸습니다. 강조 표시된 상태는 어떻게 저장해야합니까? didSelectItemAtIndexPath에서? 마지막 문장에서 무엇을 의미합니까? – Spenciefy
@Spenciefy :'collectionView : cellForItemAtIndexPath :'가 호출 될 때마다, 셀의 정확한 배경색을 설정해야합니다. 따라서 모든 행 *에 대한 상태를 "기억"해야합니다. 그것이 어레이 또는 인덱스 세트에 상태를 저장하는 것을 의미합니다. –
알겠습니다. 그렇다면 인덱스 세트에서 선택되거나 선택되지 않은 것을 어떻게 할당합니까? – Spenciefy