ios - Why UIView Animation doesn't trigger CALayer's addAnimation:forKey:? -


since uiview animation backed caanimation, guess, when id uiview animatewithduration:animations, calayer's addanimation:forkey: triggered. did method swizzling , output info in it.

#import "calayer+swizzling.h" #import <objc/runtime.h>  @implementation calayer (swizzling)  + (void)load {     method_exchangeimplementations(class_getinstancemethod([calayer class], @selector(addanimation:forkey:)), class_getinstancemethod([calayer class], @selector(hackedaddanimation:forkey:))); }  - (void)hackedaddanimation:(caanimation *)animation forkey:(nsstring *)key {     [self hackedaddanimation:animation forkey:key];     if ([animation iskindofclass:[cabasicanimation class]]) {         cabasicanimation *basicanimation = (cabasicanimation *)animation;         if ([basicanimation.keypath isequaltostring:@"transform"]) {             catransform3d transform = [basicanimation.fromvalue catransform3dvalue];             if (basicanimation.fromvalue) {                 nslog(@"fromvalue:%@", nsstringfromcgaffinetransform(catransform3dgetaffinetransform(transform)));             }             if (basicanimation.tovalue) {                 nslog(@"tovalue:%@", nsstringfromcgaffinetransform(catransform3dgetaffinetransform(transform)));             }             if (basicanimation.byvalue) {                 nslog(@"byvalue:%@", nsstringfromcgaffinetransform(catransform3dgetaffinetransform(transform)));             }             nslog(@"timingfunction:%@", basicanimation.timingfunction);             nslog(@"duration:%f", basicanimation.duration);         }     } } @end 

nothing happened. if show uialertview, triggered.

uialertview *alertview = [[uialertview alloc] initwithtitle:@"title" message:@"" delegate:nil cancelbuttontitle:@"cancel" otherbuttontitles:@"", nil];  [alertview show]; 

this result:

2013-08-16 17:28:39.693 test[81840:c07] fromvalue:[0.01, 0, 0, 0.01, 0, 0] 2013-08-16 17:28:39.694 test[81840:c07] timingfunction:easeineaseout 2013-08-16 17:28:39.695 test[81840:c07] duration:0.200000 2013-08-16 17:28:39.897 test[81840:c07] fromvalue:[1.1, 0, 0, 1.1, 0, 0] 2013-08-16 17:28:39.897 test[81840:c07] timingfunction:easeineaseout 2013-08-16 17:28:39.899 test[81840:c07] duration:0.100000 2013-08-16 17:28:40.000 test[81840:c07] fromvalue:[0.9, 0, 0, 0.9, 0, 0] 2013-08-16 17:28:40.000 test[81840:c07] timingfunction:easeineaseout 2013-08-16 17:28:40.001 test[81840:c07] duration:0.100000 

i'm assuming it's being treated implicit animation on layer in case swizzle actionforkey: instead.


Comments

Popular posts from this blog

assembly - 8086 TASM: Illegal Indexing Mode -

Java, LWJGL, OpenGL 1.1, decoding BufferedImage to Bytebuffer and binding to OpenGL across classes -

javascript - addthis share facebook and google+ url -