我发现一些这样的代码:
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"];
和
anim.keyPath = @"transform.rotation.x";
据我所知, keyPath 是一个链式方法调用。CALayer 的“transform.scale”是 aLayer.transform.scale。“transform”是 CALayer 的属性,“scale”是 transform 的“属性”。但是 CALayer 中的属性变换是 CATransform3D。
CATransform3D 中没有名为“scale”或“rotation”的属性。
我的问题是: keyPath 如何识别“缩放”和“旋转”?