iphone - 我如何知道 CABasicAnimation keyPath 中的值

标签 iphone calayer cabasicanimation

我发现一些这样的代码:

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 如何识别“缩放”和“旋转”?

最佳答案

Core Animation 扩展了 KVC,以支持对图层的某些结构类型属性的字段(或伪字段)进行直接寻址。该功能在 Core Animation Extensions To Key-Value Coding 中进行了描述。 .

关于iphone - 我如何知道 CABasicAnimation keyPath 中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5459673/

相关文章:

iphone - 以给定的频率闪烁 iphone ipad 的屏幕

iphone - 如何从编辑的 UITextField 中获取 UITableViewCell 的索引

ios - CAL层裁剪

iphone - 如何在配件复选标记-iPhone 的用户默认值中保存状态

iphone - iOS从 View Controller 访问 View 的变量

ios - 如何初始化代码在 Swift 4 中生成的按钮边框

ios - 做手势时将 anchor 放在屏幕中央

objective-c - CABasicAnimation 完成后重置

ios - 如何在 animationDidStop 中识别 CAShapeLayer

iphone - 在屏幕上旋转和平移UIImageView