我找到一些像这样的代码:
CABasicAnimation *anim = [CABasicAnimation animation];
anim.keyPath = @"transform.scale";
anim.fromValue = [NSNumber numberWithFloat:1.0];
anim.toValue = [NSNumber numberWithFloat:0];
anim.removedOnCompletion = NO;
anim.fillMode = kCAFillModeBoth;
anim.delegate = self;
[self.view.layer addAnimation:anim forKey:@"scaleOut"];
Run Code Online (Sandbox Code Playgroud)
和
anim.keyPath = @"transform.rotation.x";
Run Code Online (Sandbox Code Playgroud)
据我所知,keyPath是一个链式方法调用.CALayer的"transform.scale"是aLayer.transform.scale."transform"是CALayer的一个属性,"scale"是变换的"属性".但CALayer中的属性转换是CATransform3D.
CATransform3D中没有名为"scale"或"rotation"的属性.
我的问题是:keyPath如何识别"缩放"和"轮换"?