2016-10-06 3 views
-2

В представлении Collection я выбираю одну ячейку, но выбран несколько ячеек.UiCollectionview разрешает одиночный выбор для определенной ячейки

- (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]; 
} 
} 

Проверьте пыльник мою ссылку на изображение [1]: http://i.stack.imgur.com/WIgDH.png

+0

вы можете добавить еще код –

+0

Под кнопкой SelectItem я являюсь выбрать одну ячейки, но он выбран вниз клетку также. –

+0

Я понимаю, что для вашего кода мы не можем найти проблему –

ответ

0

При нажатии на вторую ячейку, не изменяя изображение на первой ячейке.

Поэтому убедитесь, что если вы нажали на любую ячейку изменить изображение product-check.png и предыдущей ячейки изображения в качестве product-uncheck.png

0

ли, как это Когда кнопка нажата

-(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]; 
} 
} 

я надеюсь, что это решит вашу проблему ,

+0

CustomCell * cell = * cell = [self.collectionView cellForItemAtIndexPath: indexPath]; здесь Отображение этой ошибки: присвоение 'CustomCell' из несовместимого типа 'UICollectionViewCell * _Nullable' –

+1

CustomCell * cell = [self.collectionView cellForItemAtIndexPath: indexPath]; извините за эту ошибку ,,,, я написал два раза "cell" ... id это дает ошибку, чем Cast cell для CustomCell – Dhiru

+0

спасибо за ваше драгоценное время, потраченное на меня. Еще один ответ. –

Смежные вопросы