我爲CALayer
設置陰影路徑的動畫。動畫CALayer陰影路徑
框架調整正確,但陰影不縮放。
反而影子開始在最終大小CGSize(20,20)
和整個動畫持有,即使我的shadowPath設置爲初始值
[CATransaction begin];
[CATransaction setAnimationDuration: 0];
[CATransaction setDisableActions: TRUE];
layer.frame = CGRectMake(0,0,10,10);
layer.shadowPath = [UIBezierPath bezierPathWithRect:layer.bounds].CGPath;
[CATransaction commit];
[CATransaction begin];
[CATransaction setValue:[NSNumber numberWithFloat:10] forKey:kCATransactionAnimationDuration];
layer.frame = CGRectMake(0,0,20,20);
layer.shadowPath = [UIBezierPath bezierPathWithRect:tile.bounds].CGPath;
[CATransaction commit];
感謝您的努力。你能告訴我爲什麼我的解決方案不起作用嗎?爲什麼你可以爲框架設置動畫而不是陰影路徑? – prostock 2012-08-12 05:34:19
影子動畫的要點是將'animationWithKeyPath'設置爲'@「shadowPath」'。這意味着動畫的對象是'shadowPath'。我也不知道這種機制,但設置'animationWithKeyPath'對於製作動畫非常重要。這個可以嗎 ? – weed 2012-08-12 05:47:56