Question

J'ai créé une nouvelle application basée sur View dans XCode.

Dans ViewController, le seul code que j'ai modifié ressemble à ceci:

- (void)viewDidLoad {
[super viewDidLoad];

UIView *newView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 200, 200)];
newView.backgroundColor = [UIColor redColor];
[self.view addSubview:newView];


[CATransaction begin];
[CATransaction setValue:[NSNumber numberWithFloat:0.5f] forKey:kCATransactionAnimationDuration];

newView.layer.frame = CGRectMake(20,20,220,220);

[CATransaction commit];
}

Il convient de créer un carré rouge qui s'anime pendant une demi-seconde dès le chargement de l'application. Le problème est qu'il ne s'anime pas. Je ne peux pas comprendre pourquoi. J'ai créé ce projet simple pour isoler toutes les variables, mais cela ne fonctionne toujours pas.

Quelqu'un peut-il m'aider ou me diriger dans la bonne direction de certains documents de lecture de Core-Animation. J'ai déjà parcouru tous les dossiers d'Apple.

Était-ce utile?

La solution

Votre code s'animerait comme prévu si vous définissiez des propriétés sur un CALayer (elles s'animent par défaut). Pour animer UIViews, vous devez modifier leurs propriétés dans un bloc, comme suit:

[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:1.0f];

// Change properties here

[UIView commitAnimations];

Les transactions CAT sont utilisées pour regrouper les animations afin de les coordonner ou pour les désactiver manuellement pour un groupe d'objets.

Autres conseils

Quelqu'un peut-il m'aider ou me diriger dans la bonne direction de certains documents de lecture de Core-Animation. J'ai déjà parcouru tous les dossiers d'Apple.

Voir: Core Animation pour Mac OS X et l'iPhone: création d'interfaces utilisateur dynamiques fascinantes pour une excellente présentation de Core Animation sur les vues et les calques.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top