我的CALayer没有出现

时间:2010-11-10 23:26:48

标签: iphone objective-c

我正在尝试让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];
}

1 个答案:

答案 0 :(得分:0)

theImage.bounds = frame行是错误的。您不想更改边界。你的转换也可能是错误的,但是我不能回想起转换矩阵,以便记住.m34的作用;)