0
特定の図形のパスの変更をアニメーション化しようとしています。このコードを単純な.path [cgpath]セッターに置き換えることで、アニメーションなしで手動で変更できます。しかし、私は美学の変化を生き生きとしたい。CAShapeLayerパスのアニメーション
このコードを実行すると、アニメーションが完了したことを示すログが表示されますが、シェイプに変更はありません。
for (CALayer *layer in self.view.layer.sublayers) {
if ([layer isKindOfClass:[CAShapeLayer class]]) {
CAShapeLayer *copy = (CAShapeLayer *)layer;
if ([sideChoice isEqualToString:@"datum"]) {
if ([copy.name isEqualToString:@"datumSideLayer"]) {
[CATransaction begin];
[CATransaction setCompletionBlock:^{
NSLog(@"Animation complete.");
}];
CABasicAnimation *morph = [CABasicAnimation animationWithKeyPath:@"path"];
morph.duration = 1;
morph.toValue = pathChange;
[copy addAnimation:morph forKey:nil];
[CATransaction commit];
break;
}
} else if ([sideChoice isEqualToString:@"opposite"]) {
if ([copy.name isEqualToString:@"oppositeSideLayer"]) {
}
}
}
}