Tomemos los puntos de curva p1, p2, p3, p4 y p5, & buscamos el punto medio para cada par de puntos adyacentes. Etiqueta m1 como el punto medio para p1 y p2. Del mismo modo para m2, m3, m4.
- Agregue quad curve a point m2 con p2 como punto de control.
- Agregue la curva cuádruple al punto m3 con p3 como punto de control.
- Agregue la curva cuádruple al punto m4 con p4 como punto de control.
Código:
CGFloat screenHeight = self.view.frame.size.height;
CGFloat screenWidth = self.view.frame.size.width;
UIView *aniView = [[UIView alloc] initWithFrame:CGRectMake(50, screenHeight, 50, 50)];
[aniView setBackgroundColor:[UIColor redColor]];
aniView.layer.cornerRadius = 25.0;
[self.view addSubview:aniView];
UIBezierPath *movePath = [UIBezierPath bezierPath];
[movePath moveToPoint:aniView.center];
[movePath addQuadCurveToPoint:CGPointMake(screenWidth-50,screenHeight-50)
controlPoint:CGPointMake(screenWidth/2,screenHeight-150)];
CAKeyframeAnimation *moveAnim = [CAKeyframeAnimation animationWithKeyPath:@"position"];
moveAnim.path = movePath.CGPath;
moveAnim.removedOnCompletion = YES;
CAAnimationGroup *animGroup = [CAAnimationGroup animation];
animGroup.animations = [NSArray arrayWithObjects:moveAnim, nil];
animGroup.duration = 2.0;
[CATransaction begin]; {
[CATransaction setCompletionBlock:^{
[aniView.layer removeAllAnimations];
[aniView removeFromSuperview];
}];
[aniView.layer addAnimation:animGroup forKey:nil];
} [CATransaction commit];
Copia pasado por encima de código en algún método y tratar de llamar al método ...
Nota que enlazan-únicas respuestas se desaniman aquí en la SO. Considere [editar su respuesta] (http://meta.stackexchange.com/a/8259/186599) y agregue una sinopsis aquí. – NAZIK
@NAZIK su honor, estoy aquí para responder a la pregunta y encontrar una solución adecuada para querry! – Steve
He pasado por el tutorial, tomar mi voto popular – NAZIK