У меня есть круг, который я оживляю, растущий наружу и становлюсь больше. К сожалению, несмотря на то, что я установил anchorPoint
, он не оживляет от центра наружу, он, похоже, блокирует положение вверху слева. Что происходит?CABasicAnimation происходит от верхнего правого, а не от центра
Смотреть это изображение, которое изображает круги от центра,
код
- (void)setLayerProperties {
rippleLayer = [[CAShapeLayer alloc] init];
rippleLayer.fillColor = [UIColor clearColor].CGColor;
rippleLayer.strokeColor = _Color.CGColor;
//rippleLayer.contentsGravity = @"center";
rippleLayer.anchorPoint = CGPointMake(0.5,0.5);
rippleLayer.bounds = self.bounds;
rippleLayer.path = bezierPath.CGPath;
[self.layer addSublayer:rippleLayer];
}
// Now animate the circle outwards
rippleLayer.opacity = 1;
CABasicAnimation *scale = [CABasicAnimation animationWithKeyPath:@"transform.scale"];
[scale setFromValue:[NSNumber numberWithFloat:1.0f]];
[scale setToValue:[NSNumber numberWithFloat:2.0f]];
[scale setRepeatCount:1];
[scale setDuration:1.0f];
//[scale setRemovedOnCompletion:YES];
[scale setFillMode:kCAFillModeForwards];
[rippleLayer addAnimation:scale forKey:scale.keyPath];
проверить эту нить http://stackoverflow.com/questions/11495956/calayer-cabasicanimation-not-scaling-around-center-anchorpoint? rq = 1 – lionserdar
@ lionserdar Спасибо, у меня уже есть и все мои ограничения - есть ли что-то еще, что мне не хватает? – Chris