Vorrei iniziare l'animazione su un UICollectionViewCell
quando l'utente tocca una cella. La mia idea era di selezionare la cella corrispondente in didSelectItemAtIndexPath
e attivare un'animazione. Tuttavia, questo non funziona:Animate UICollectionViewCell on Tap
- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath
{
// animate the cell user tapped on
ProductCollectionViewCell* cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"ProductReuseID" forIndexPath:indexPath];
[UIView animateWithDuration:5.0
delay:0
options:(UIViewAnimationOptionAllowUserInteraction)
animations:^{
NSLog(@"animation start");
[cell.layer setBackgroundColor:[UIColor colorWithRed: 180.0/255.0 green: 238.0/255.0 blue:180.0/255.0 alpha: 1.0].CGColor];
}
completion:^(BOOL finished){
NSLog(@"animation end");
[cell.layer setBackgroundColor:[UIColor whiteColor].CGColor];
}
];
}
realtà, inizia l'animazione e termina nello stesso tempo (anche se animateWithDuration
è impostato a 5). tentativo successivo è stato quello di ignorare l'animazione e semplicemente impostare per esempio un diverso stile di bordo: (? Probabilmente perché devo ridisegnare la cella manualmente)
- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath
{
// animate the cell user tapped on
ProductCollectionViewCell* cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"ProductReuseID" forIndexPath:indexPath];
[cell.layer setBorderWidth:5.0f];
}
Tuttavia, questo non cambia nulla.
Avete qualche idea su come animare un UICollectionViewCell quando l'utente ha toccato su di esso?
Cordiali saluti, cristiane
Grazie mille! Questo ha risolto il problema ... – itsame69
OMG, grazie per questo. – sabiland