我有以下代码:
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秒。
先谢谢。
答案 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)
您是否尝试将时间变量设置为静态?