【问题标题】:Invert Core Animation Direction反转核心动画方向
【发布时间】:2015-03-17 12:00:31
【问题描述】:

如何改变动画的垂直方向?

目前我有这个:

-(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"];
}

这行得通,但是旋转是从上到下的翻转,我怎样才能将其反转为从下到上?

【问题讨论】:

    标签: cabasicanimation


    【解决方案1】:

    不知道你在问什么。

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

    【讨论】:

      【解决方案2】:

      目标是反转动画方向:而不是从下到上,我想让它从上到下,我最终通过为动画添加锚点来实现:

      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);
      

      我不知道为什么,但是一旦你添加了这条线,动画就会反转..

      【讨论】:

        猜你喜欢
        • 2015-02-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-08-03
        • 1970-01-01
        相关资源
        最近更新 更多