Je suis en train d'animer une cellule de vue collection, ceci est mon code jusqu'à présentcellule de vue Collection animée tvOS
- (void)collectionView:(UICollectionView *)collectionView didUpdateFocusInContext:(UICollectionViewFocusUpdateContext *)context withAnimationCoordinator:(UIFocusAnimationCoordinator *)coordinator{
UICollectionViewCell *nextFocusedCell = [collectionView dequeueReusableCellWithReuseIdentifier:@"VideoCell" forIndexPath:context.nextFocusedIndexPath];
UICollectionViewCell *previousFocusedCell = [collectionView dequeueReusableCellWithReuseIdentifier:@"VideoCell" forIndexPath:context.previouslyFocusedIndexPath];
if (context.nextFocusedView) {
[coordinator addCoordinatedAnimations:^{
[nextFocusedCell setFrame: CGRectMake(3, 14, 300, 300)];
} completion:^{
// completion
}];
} else if (context.previouslyFocusedView) {
[coordinator addCoordinatedAnimations:^{
[previousFocusedCell setFrame: CGRectMake(3, 14, 100, 100)];
} completion:^{
// completion
}];
}
Mais mon code ne fonctionne pas. J'ai lu la documentation et il dit d'implémenter quelque chose comme if (self == contextFocusedView) ...... mais il a un avertissement disant que pointeur incompatible View Controller à UIView. Quelqu'un pourrait s'il vous plaît me dire ce qui ne va pas avec mon code & comment y remédier? Merci!!
Je ne pense pas que vous devriez avoir 'else if' mais plutôt' if'. – Banana