【发布时间】:2014-10-30 11:53:20
【问题描述】:
UIKit 中是否有一个函数可以被覆盖,相当于SKScene 的更新?
如果没有,如何实现我的函数在每一步都执行?
【问题讨论】:
UIKit 中是否有一个函数可以被覆盖,相当于SKScene 的更新?
如果没有,如何实现我的函数在每一步都执行?
【问题讨论】:
没有与SKScene's更新等效的功能。
但是有类似的方法可以实现预期的功能:
CADisplayLink,是最接近此类功能的。你可以像这样初始化它:
CADisplayLink *displayLink = [CADisplayLink displayLinkWithTarget:self selector:@selector(animate)];
[_displayLink addToRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
animate 是您自己将被调用的函数。完成后记得调用 [displayLink invalidate]。
drawRect:(CGRect)rect,每次重绘视图时都会被调用,也可以通过调用setNeedsDisplay来触发。NSTimer,是另一种方式。但是,如果您的函数是动画,请尽量不要使用,因为 NSTimer 的计时函数 (fps) 不如 CA 准确
【讨论】: