1

実行ループをブロックせずに、アプリでプログラム アニメーションを実行したいと考えています。これを行う良い方法は何ですか?

テンプレートが行う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

誰かがこれを行う方法を説明できますか?

4

0 に答える 0