快速设置Timerinterval然后逐渐减慢速度

时间:2010-11-11 07:27:20

标签: iphone ios4 nstimer nstimeinterval

我有以下代码:

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
}

我想打电话给ontimer 0.50然后0.55然后0.60&不久。这意味着First Fast然后逐渐减速。

问题是每次ontimer都会被调用0.50秒。

先谢谢。

2 个答案:

答案 0 :(得分:1)

afaik您无法在启动计时器时调整timeInterval,因此您每次都必须更改fireDate。像这样:

- (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];

答案 1 :(得分:0)

您是否尝试将时间变量设置为静态?