No. It is a CABasicAnimation, but it also works with a CAKeyframeAnimation.

I modified the example project from this blog post: http://www.cimgf.com/2008/11/05/core-animation-tutorial-interrupting-animation-progress/ to demonstrate this. The modified project is here: http://www.cimgf.com/files/FollowMe.zip .

The sample code does not actually call -removeFromSuperlayer as the layer gets referenced again which would cause it to crash. Make sure you're not accessing the layer again after you've removed it from it's parent. Unless you've explicitly retained it, it's been autoreleased at that point.

hth,

-Matt


On Jan 8, 2009, at 12:10 AM, Bridger Maxwell wrote:

Hey,
Is the animation your own subclass of CAAnimation? I am justing using
CAKeyframeAnimation.

TTFN
Bridger

On Tue, Jan 6, 2009 at 1:45 PM, Matt Long <matt.l...@matthew- long.com>wrote:

Bridger,

As far as I can tell there is nothing inherent in the CA API to do what you want, however, KVC is available to you. When you create your animation, do
this:

[animation setValue:objectLayer forKey:@"parentLayer"];

Where objectLayer is the layer the animation is going to be run on. Then,
in your -animationDidStop, you can grab the layer like this:

- (void)animationDidStop:(CAAnimation *)theAnimation finished: (BOOL)flag
{
CALayer *layer = [theAnimation valueForKey:@"parentLayer"];
if( layer )
{
  NSLog(@"The layer object was: %@ (%@)", layer, [layer name]);
  [layer removeFromSuperlayer];
}
}

I named my layer when I created it with a call to [objectLayer setName:@"parentLayer"] in this code, so the NSLog in -animationDidStop won't display the name
unless you've done the same.

Best regards,

-Matt


_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to