実行ループをブロックせずに、アプリでプログラム アニメーションを実行したいと考えています。これを行う良い方法は何ですか?
テンプレートが行うCADisplayLink
ループに似た何かを行う方法はありますか? OpenGL
同じランループをセットアップして、GL ビューを更新する代わりにビューの変換を行うことはできますか?
編集:表示リンクを起動して実行していますが、n 秒ごとにブロックを実行できるようにする方法がわかりません。で作業するためのヒントはありCADisplayLink
ますか?
編集 2: 基本的に、ビューをパルスまたは変換させようとしています。これを行う方法がよくわかりません。CADisplayLink は 1 秒間に何度も発生するため、フレームごとの変化を計算する方法がわかりません。
CADisplayLink
次のように、ビューにa を設定しました。
@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
誰かがこれを行う方法を説明できますか?