Modifier l'arrière-plan de UICollectionView Cellule sur le Robinet

J'ai un UICollectionView que j'ai créé par programmation. Je voudrais que l'affichage de la collection à se comporter de la façon suivante:

1. User touches cell
2. Cell background color changes
3. User releases touch
4. Cell background color changes

Ce doit être un rapide changement de couleur qui se passe juste avant le sélecteur liées à la tap action est exécutée dans lequel le viewcontroller contenant de l'affichage de la collection est sortie hors de la pile.

J'ai été à la recherche à cette question: UICollectionView cellule de modifier l'arrière-plan tap

dans lequel il y a le résumé suivant des méthodes à utiliser pour ce faire:

//Methods for notification of selection/deselection and highlight/unhighlight events.
//The sequence of calls leading to selection from a user touch is:
//
//(when the touch begins)
//1. -collectionView:shouldHighlightItemAtIndexPath:
//2. -collectionView:didHighlightItemAtIndexPath:
//
//(when the touch lifts)
//3. -collectionView:shouldSelectItemAtIndexPath: or -    collectionView:shouldDeselectItemAtIndexPath:
//4. -collectionView:didSelectItemAtIndexPath: or -collectionView:didDeselectItemAtIndexPath:
//5. -collectionView:didUnhighlightItemAtIndexPath:

Je suis en supposant que je n'ai besoin que pour mettre en œuvre l'une des méthodes ci-dessus de " toucher quand commence et quand touch se termine.' Mais peu importe ce que je fais, il semble qu'un changement de couleur de fond et reste ensuite changé. Voici un exemple de quelque chose que j'ai essayé qui ne fonctionne pas:

- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath
 {
   //pop vc 
 }

- (void)collectionView:(UICollectionView *)collectionView didHighlightItemAtIndexPath:(NSIndexPath *)indexPath
{
  UICollectionViewCell* cell = [collectionView cellForItemAtIndexPath:indexPath];
  cell.contentView.backgroundColor = [UIColor redColor];
}

- (void)collectionView:(UICollectionView *)collectionView didDeselectItemAtIndexPath:(NSIndexPath *)indexPath
{
  UICollectionViewCell *cell = [collectionView cellForItemAtIndexPath:indexPath];
  cell.contentView.backgroundColor = [UIColor greenColor];
}

Cette résultats dans la cellule de la couleur d'arrière-plan d'être modifiées uniquement pour le rouge. J'ai également regardé cette question: UICollectionView Sélectionner et Désélectionner des question et essayé de mise en œuvre de [UICollectionView selectItemAtIndexPath:animation:scrollPosition:] et de l'appeler à l'intérieur de didSelectItemAtIndexPath, mais cela ne fonctionne pas non plus. La collecte de vue de source de données et délégué sont fixés.

InformationsquelleAutor jac300 | 2014-04-30