我想在我的应用中运行一个程序化动画,而不会阻止runloop。这样做的好方法是什么?
有没有办法像CADisplayLink
模板那样执行OpenGL
循环?我可以设置相同的runloop但是查看转换而不是更新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
有人可以解释一下如何做到这一点吗?