0

MKMapView の注釈の下にアニメーションを追加しようとしていますが、うまくいきません。CAShapeLayer zPosition を変更しようとしましたが、円がマップの下に表示されます。アニメーションをマップに追加する現在のコードは次のとおりです。

int radius = 55;
CAShapeLayer *circle = [CAShapeLayer layer];

circle.path = [UIBezierPath bezierPathWithRoundedRect:CGRectMake(0, 0, 2.0*radius, 2.0*radius)
                                         cornerRadius:radius].CGPath;

circle.position = CGPointMake(CGRectGetMidX(self.view.frame)-radius,
                              CGRectGetMidY(self.view.frame)-radius);

circle.fillColor = [UIColor clearColor].CGColor;
circle.strokeColor = [UIColor blackColor].CGColor;
circle.lineWidth = radius*2;
circle.opacity = 0.5;

[self.mapView.layer addSublayer:circle];

CABasicAnimation *drawAnimation = [CABasicAnimation animationWithKeyPath:@"strokeEnd"];
drawAnimation.duration            = 2.5; // "animate over 10 seconds or so.."
drawAnimation.repeatCount         = 100.0;  // Animate only once..
drawAnimation.removedOnCompletion = YES;   // Remain stroked after the animation..

drawAnimation.fromValue = [NSNumber numberWithFloat:0.0f];
drawAnimation.toValue   = [NSNumber numberWithFloat:1.0f];

functionWithName:kCAMediaTimingFunctionEaseIn];

[circle addAnimation:drawAnimation forKey:@"drawCircleAnimation"];
4

1 に答える 1

0

回答がないまま 3 日が経過した後、mkview から注釈を削除し、注釈に対応するアニメーションと画像をマップの上の別のビューに配置することにしました。

于 2012-12-07T18:46:14.120 に答える