Ce que j'essaie de faire, c'est d'animer une étiquette lorsque la minuterie est activée. J'ai une application basée sur une fenêtre. J'ai essayé l'animation de base dans une boucle while, mais le programme se fige tout seul. Core Animation et NSTimer
Ce que j'est:
drawingTimer = [NSTimer scheduledTimeWithTimeInterval:60.0 target:self
selector:@selector(slideWords) userInfo:nil repeats:NO];
-void (slideWords){
randomNumber = 1 + arc4Random()%2;
if(randomNumber = 1){
Redlabel.alpha = 1.0;
RedLabel.frame = CGRectMake(0, -50, 320, 100);
[UIWindow animateWithDuration:5.0 animations:^{
Redlabel.alpha = 1.0;
Redlabel.frame = CGRectMake(0,300,320,100);
}completion:^(BOOL finished){
[UIWindow animateWithDuration:0.5 delay:0.5 options:0 animations:^{
Redlabel.alpha = 0.0;
}completion:^(BOOL finished){
}];
}];
}
if(randomNumber = 2){
GreenLabel.alpha = 1.0;
GreenLabel.frame = CGRectMake(0, -50, 320, 100);
[UIWindow animateWithDuration:5.0 animations:^{
GreenLabel.alpha = 1.0;
GreenLabel.frame = CGRectMake(0,300,320,100);
}completion:^(BOOL finished){
[UIWindow animateWithDuration:0.5 delay:0.5 options:0 animations:^{
GreenLabel.alpha = 0.0;
}completion:^(BOOL finished){
}];
}];
}
}
N'a pas lu le tout, mais vos conditions ne font que des tâches. Les deux seront évalués comme vrai, et modifier randomNumber. De plus, les niveaux alpha sont assignés à 1, puis animés à 1 (non-op). – danh
quand je viens d'écrire les lignes dans RedLabel.alpha ..... reste; le programme fonctionne bien. Le problème devrait être déclenché par un NSTimer ou dans une boucle, donc je cherche des alternatives. –
De même, vous définissez les cadres des deux étiquettes sur le même rect, puis vous les animez sur le même rect. On sera toujours caché. Je pense que vous devriez recommencer et simplifier radicalement: pas de boucle ou de minuterie, pas de hasard. Juste obtenir une étiquette qui s'estompe et qui bouge comme vous le voulez (peut-être ajouter un bouton temporaire pour le déclencher). Ensuite, faites la deuxième étiquette. Puis hardcode les deux cas aléatoires que vous voulez, puis ajoutez le hasard ... et ainsi de suite. Vous y arriverez! – danh