这里是我的动画代码:CATransformLayer不支持隐式动画?
CGFloat zDistance = 850;
CGFloat scaleFactor = BACK_COVER_WIDTH/self.transformLayer.bounds.size.width;
CATransform3D rotation = CATransform3DMakeRotation(M_PI, 0.0, 1.0, 0.0);
CATransform3D scale = CATransform3DMakeScale(scaleFactor, scaleFactor, 0.0);
CATransform3D transform = CATransform3DConcat(rotation, scale);
transform.m34 = 1.0/-zDistance;
CGPoint location = CGPointMake(CGRectGetMidX(self.layer.frame), CGRectGetMidY(self.layer.frame));
[CATransaction begin];
[CATransaction setAnimationDuration:1.0];
self.transformLayer.transform = transform;
self.transformLayer.position = location;
[CATransaction commit];
self.transformLayer
是CATransformLayer
有两个子层,一个正面和一个背面(我创建一个“炫”的效果)。但是,这段代码只是设置了位置并且没有动画就进行了转换所以我认为可能transform
不支持隐式动画,所以我把它拿出来,试着设置位置,但是没有动画(我知道position
支持隐式动画)。
我做错了什么或者CATransformLayer
只是不支持隐式动画?文档没有说明它不支持它,所以我假设它。
编辑:这是Mac OS X,iOS的不
您是否尝试过使用显式动画? – 2011-02-11 01:18:08