0
我在CATransaction中设置了一些CALayer变换和边界修改。但是,无论我使用的方法(键值,setAnimationDuration)是否没有动画,所做的更改都会完成,但不会立即转换。 你知道为什么吗? 谢谢!CATransaction持续时间不起作用
/* CALayer*layer=[CALayer layer];
layer.bounds =AnUIImageView.bounds;
layer.contents=AnUIImageView.layer.contents;
[AnotherUIImageView.layer addSublayer:layer];
CGPoint thecentre=AnUIImageView.center;
CALayer* layerInTarget=[AnotherUIImageView.layer.sublayers lastObject];
[layerInTarget setPosition:[self.view convertPoint:thecentre toView:AnotherUIImageView]];
AnUIImageView.layer.hidden=YES;
*///上述工程的代码,我表现(如,他们通过view.layer
访问),它是结束与一个UIView
相关
[CATransaction begin];
[CATransaction setValue:[NSNumber numberWithFloat:2.0f]
forKey:kCATransactionAnimationDuration];
layerInTarget.position=[self.view convertPoint:AnotherUIImageView.center toView:AnotherUIImageView];
layerInTarget.transform=CATransform3DMakeScale(0.6,0.6,0.6);
[CATransaction commit];
好的,我没有意识到它。不过,我改变了我以前的代码,并使用隐式动画修改了图层,然后将其添加到我的UIImageView中。没有任何改变:图层被修改,但立即。今天糟糕的一天,是不是... – NightCoder
好吧,最后它确实工作,我也被这个问题帮助:[这里](http://stackoverflow.com/questions/2981676/catransaction-layer-changes-但此结果不是,动画) – NightCoder