0

我有以下代码:

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 & 很快。这意味着首先快速然后逐渐减速。

问题是每个 Time ontimer 将被调用 0.50 秒。

提前致谢。

4

2 回答 2

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];
于 2010-11-11T09:32:27.397 回答
0

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

于 2010-11-11T09:31:30.457 回答