2010-11-11 17 views
0

j'ai le code suivant:Réglage TimerInterval rapide, puis peu à peu est ralentir

xx=0.50; 
[NSTimer scheduledTimerWithTimeInterval:xx target:self selector:@selector(ontimer:) userInfo:nil repeats:YES]; 

-(void)ontimer 
{ 
    xx=xx+0.05; 
    NSTimeInterval dt = [timer timeInterval]; 
    // do something 
} 

Je veux appeler ontimer pour 0,50 puis 0,55 puis 0,60 & bientôt. cela signifie First Fast puis progressivement ralentir.

Le problème est chaque fois que l'ontimer sera appelé pendant 0,50 secondes.

Merci à l'avance.

+0

double possible de [Comment modifier le calendrier pour NSTimer?] (Http://stackoverflow.com/questions/4152097/how-do-i-change-timing-for-nstimer) Pourquoi ne modifiez-vous pas la question originale pour la rendre plus claire? – zoul

+0

okey, maintenant je vais m'en occuper. –

Répondre

0

Avez-vous essayé de définir votre variable de temps à statique?

+0

après l'utilisation de NSTimeInterval statique mon problème a été résolu maintenant. Merci beaucoup. –

1

Si vous ne parvenez pas à régler le paramètre timeInterval à la mise en marche d'un temporisateur, vous devez à chaque fois modifier le paramètre fireDate. Comme ceci:

- (void)someTimerMethod:(NSTimer *)aTimer { 
    static NSTimeInterval pause = 0.5; 
    pause += 0.05; 
    [aTimer setFireDate:[[[NSDate alloc] initWithTimeIntervalSinceNow:pause] autorelease]]; 
} 

[NSTimer scheduledTimerWithTimeInterval:0.5 target:self selector:@selector(someTimerMethod:) userInfo:nil repeats:YES]; 
+0

Merci, ça fonctionne bien pour moi. Le problème est que je n'utilise pas Static NSTimeInterval. –