In Collection view i am select the one cell but it is selected multiple cells.
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{
CustomCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"Cell" forIndexPath:indexPath];
cell.Selectitems.tag=indexPath.row;
[cell.Selectitems addTarget:self action:@selector(selectitem:) forControlEvents:UIControlEventTouchUpInside];
}
-(void)selectitem :(UIButton *)sender{
if ([sender isSelected]) {
[sender setSelected: NO];
cell.check = YES;
[cell.Selectitems setBackgroundImage:[UIImage imageNamed:@"product-uncheck.png"] forState:UIControlStateNormal];
}else{
[sender setSelected: YES];
cell.check = YES;
[cell.Selectitems setBackgroundImage:[UIImage imageNamed:@"product-check.png"] forState:UIControlStateNormal];
}
}
Check bellow my image link
[1]: http://i.stack.imgur.com/WIgDH.png
Here is the complete code which may satisfy your requirement for checkbox with collectionview
https://www.dropbox.com/s/e43zk55surlwjlk/CollectionCkeck.zip?dl=0
When you clicked on second cell you are not changing image on first cell.
So make sure that if you clicked on any cell change the image as product-check.png
and previous cell image as product-uncheck.png
Do like this When Button is Pressed
-(void)selectitem :(UIButton *)sender{
//Get Index path from Button Tag
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:sender.tag inSection:0];
// get Cell instance and than do whatever you want with Cell items
CustomCell *cell = *cell = [self.collectionView cellForItemAtIndexPath:indexPath];
if ([cell.Selectitems isSelected]) {
[cell.Selectitems setSelected: NO];
cell.check = YES;
[cell.Selectitems setBackgroundImage:[UIImage imageNamed:@"product-uncheck.png"] forState:UIControlStateNormal];
}else{
[cell.Selectitems setSelected: YES];
cell.check = YES;
[cell.Selectitems setBackgroundImage:[UIImage imageNamed:@"product-check.png"] forState:UIControlStateNormal];
}
}
i hope this will solve your problem .