2015-03-17 3 views
0

Как изменить вертикальное направление анимации?Invert Core Animation Direction

В настоящее время у меня есть это:

-(void) flipAway{ 
    CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"transform"]; 
    self.view.layer.zPosition = 100; 

    CATransform3D transform = CATransform3DMakeRotation(M_PI, 1, 0, 0); 
    transform.m34 = 1.0/800.0; 
    [animation setToValue:[NSValue valueWithCATransform3D:transform]]; 
    [animation setDuration:5]; 
    [animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn]]; 
    [animation setFillMode:kCAFillModeForwards]; 
    [animation setRemovedOnCompletion:NO]; 
    [animation setDelegate:self]; 

    [self.view.layer addAnimation:animation forKey:@"test"]; 
} 

И это работает, но вращение флип сверху вниз, как я могу перевернуть это, чтобы быть снизу вверх?

ответ

0

Не знаете, о чем вы просите.

CATransform3D transform = CATransform3DMakeRotation(- M_PI, 1, 0, 0); 
0

Мишень инвертировать Animation Направление: вместо того, чтобы снизу вверх, я хотел бы иметь его сверху вниз, я, наконец, добились этого путем добавления точки привязки для анимации:

CGRect frame = self.view.layer.frame; 
    CGPoint center = CGPointMake(CGRectGetMidX(frame), frame.size.height); 
    self.view.layer.position = center; 
    self.view.layer.anchorPoint = CGPointMake(0.5, 1); 

Я не знаю почему, но как только вы добавляете эти строки, анимация инвертируется.