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"]) {
}
}
}
}