1

我想在我的应用程序中运行程序动画而不阻塞运行循环。有什么好方法可以做到这一点?

有没有办法做类似于模板做的CADisplayLink循环?OpenGL我可以只设置相同的运行循环但进行视图转换而不是更新 GL 视图吗?

编辑:我已经启动并运行了一个显示链接,但我不确定如何使它工作,以便我可以每 n 秒执行一个块?有什么使用技巧CADisplayLink吗?

编辑2: 本质上,我试图使视图脉动或变换。我不太确定该怎么做。CADisplayLink 每秒触发多次,所以我不确定如何计算每帧的变化。

CADisplayLink在我看来,我已经设置了一个,如下所示:

@interface SomeView
@property (nonatomic, strong) CADisplayLink *displayLink;
@end

@implementation SomeView
//...
 - (id)init 
 {
   self = [super init]

   if (self) {

    _displayLink = [CADisplayLink displayLinkWithTarget:self selector:@selector(update)];      
    [_displayLink addToRunLoop:[NSRunLoop mainRunLoop] forMode: runMode:NSDefaultRunLoopMode];
   }

   return self;
 }

 - (void)update
 {
   // What can I put here to smoothly resize a view with transforms?
 }
 @end

有人可以解释如何做到这一点吗?

4

0 回答 0