Bir UIBezierPath'ı bir üçgene recteki bir animasyona animasyon uygulamak, bir yoldaki bir görünümü canlandırmak değil, yolun kendisini canlandırarak, bir şekilden diğerine dönüşmesini sağlamak istiyorum. yol Ben CoreAnimation uzmanı değilim amaUIBezierPath'in Nasıl Oluşturulacağı
CABasicAnimation *morph = [CABasicAnimation animationWithKeyPath:@"path"];
morph.duration = 5;
morph.toValue = (id) [self getTrianglePath];
[maskLayer addAnimation:morph forKey:nil];
ilk satır aşağıdaki gibi bir CABasicAnimation
tanımlayabilirsiniz bir CALayer
CAShapeLayer *maskLayer = [CAShapeLayer layer];
maskLayer.fillColor = [[UIColor whiteColor] CGColor];
maskLayer.path = [self getRectPath];
-(CGPathRef)getTrianglePath
{
UIBezierPath* triangle = [UIBezierPath bezierPath];
[triangle moveToPoint:CGPointZero];
[triangle addLineToPoint:CGPointMake(width(self.view),0)];
[triangle addLineToPoint:CGPointMake(0, height(self.view))];
[triangle closePath];
return [triangle CGPath];
}
-(CGPathRef)getRectPath
{
UIBezierPath*rect = [UIBezierPath bezierPathWithRect:self.view.frame];
return [rect CGPath];
}
Teşekkürler, basit. CAKeyframeAnimation kullanıyordum. –