title: Guidance with programmatic animations
body: <p>I'd like to run a programatic animation in my app without blocking the runloop. What's a good way to do this? </p>
  
  <p>Is there a way to do something similar to a <code>CADisplayLink</code> loop that the <code>OpenGL</code> templates do? Can I just set up that same runloop but do view transformations instead of updating a GL View?</p>
  
  <p><strong>Edit:</strong> I've gotten a display link up and running but I'm not sure how to make it work so that I can execute a block every n seconds? Any tips for working with <code>CADisplayLink</code>?</p>
  
  <p><strong>Edit 2:</strong>
  Essentially, I'm trying to cause a view to pulse or transform. I'm not quite sure how to do this. The CADisplayLink fires many times per second, so I'm unsure how to calculate the change per frame.</p>
  
  <p>I've set up a <code>CADisplayLink</code> in my view, like so:</p>
  
  <pre><code>@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
  </code></pre>
  
  <p>Can someone explain how to do this?</p>