Yes, it’s possible (only in the latest Core Animation releases though, I believe, i.e. iPhone 3.0+ and OS X 10.6+).
-
Make your property dynamic so that CA implements the accessors for you:
@dynamic myInt;
-
Tell the layer that changes of the property require redrawing:
+ (BOOL)needsDisplayForKey:(NSString*)key { if ([key isEqualToString:@"myInt"]) { return YES; } else { return [super needsDisplayForKey:key]; } }
-
Use the value of
myInt
in yourdrawInContext:
method. Now, when you animatemyInt
, Core Animation will interpolate the values for each step of the animation and repeatedly ask the layer to draw itself. -
If you also want to enable implicit animations for this property, also override
actionForKey:
.