我正在尝试让CALayer工作,所以我可以开始练习一些我想学习的动画技巧。目前我想沿z轴缩放和移动东西。
现在,当我运行此代码时,我什么也看不见。我希望看到一个黑色的方块。但没有出现任何东西。代码编译(显然)并且没有警告。有什么我想念的吗?
我试图通过阅读本教程来学习
http://watchingapple.com/2008/04/core-animation-3d-perspective/
但显然我的知识中有一个洞让我感到难过。
- ()addAnImageInTheBackground {
CALayer *theImage = [CALayer layer];
theImage.backgroundColor = [UIColor blackColor];
theImage.anchorPoint = CGPointZero;
CGRect frame;
frame.origin.x = 10;
frame.origin.y = 10;
frame.size.height = 20;
frame.size.width = 20;
theImage.frame = frame;
theImage.bounds = frame;
CATransform3D transform = CATransform3DIdentity;
transform.m34 = 1.0 / -2000;
theImage.sublayerTransform = transform;
NSNumber *value = [NSNumber numberWithInt:-10];
[theImage setValue:value forKeyPath:@"transform.translation.z"];
[[[self view] layer] addSublayer:theImage];
}
答案 0 :(得分:0)
第theImage.bounds = frame
行是错误的。您不想更改边界。你的转换也可能是错误的,但是我不能回想起转换矩阵,以便记住.m34的作用;)