のシャドウ パスをアニメーション化してい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];