【问题标题】:SKScene's update UIKit equivalentSKScene 的更新 UIKit 等价物
【发布时间】:2014-10-30 11:53:20
【问题描述】:

UIKit 中是否有一个函数可以被覆盖,相当于SKScene 的更新?

如果没有,如何实现我的函数在每一步都执行?

【问题讨论】:

    标签: function swift uikit


    【解决方案1】:

    没有与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 准确

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-05-07
      • 1970-01-01
      • 2020-10-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多