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