Weźmy punkty krzywej p1, p2, p3, p4 i p5, & znajdź punkt środkowy dla każdej pary sąsiednich punktów. Oznacz m1 jako punkt środkowy dla p1 i p2. Podobnie dla m2, m3, m4.
- Dodaj kwadratową krzywą do punktu m2 z p2 jako punktem kontrolnym.
- Dodaj czterokrotną krzywą do punktu m3 z p3 jako punktem kontrolnym.
- Dodaj krzywą czteropunktową do punktu m4 z p4 jako punktem kontrolnym.
Kod:
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];
Kopiowanie przeszłość powyższy kod do jakiejś metody i próby wywołania metody ...
Zauważ, że łącza są zniechęceni tylko odpowiedzi tutaj na SO. Rozważ [edytuj swoją odpowiedź] (http://meta.stackexchange.com/a/8259/186599) i dodaj streszczenie tutaj. – NAZIK
@NAZIK zaszczyt jestem tutaj, aby odpowiedzieć na pytanie i znaleźć odpowiednie rozwiązanie dla querry! – Steve
Przejrzałem samouczek, wziąłem udział w przeglądzie – NAZIK