我将 NSTimer 用于我的 iOS 应用程序,但由于 SetNeedsDisplay,我没有得到我想要的结果。
我做了一些研究,发现 CADisplayLink 给了我想要的动画结果。遗憾的是,我无法像使用 NSTimer 那样设置计时器。
[NSTimer scheduledTimerWithTimeInterval:0.250 target:self selector:@selector(setGaugeLevel) userInfo:nil repeats:YES];
我的 CADisplayLink 调用我的函数太快了,我想给它与我使用 NSTimer 时相同的计时器(0.250 秒)。
CADisplayLink *displayLink = [CADisplayLink displayLinkWithTarget:self selector:@selector(setGaugeLevel)];
[displayLink addToRunLoop:[NSRunLoop mainRunLoop] forMode:NSDefaultRunLoopMode];
setGaugeLevel 函数内部只有一个循环,其中包含一个 SetValue 函数,在每次迭代中包含:
[self setNeedsDisplay];
有什么办法可以减慢速度以获得我想要的结果?