【问题标题】:iOS: Animate item twiceiOS:动画项目两次
【发布时间】:2013-04-29 20:19:44
【问题描述】:

刚开始使用核心图形。玩一个简单的按钮和标签。我希望这个标签在每次单击按钮时旋转 180 度。它仅在第一次单击时产生动画(但是,控制台在每次单击时都会写入“DONE”)

- (IBAction)btnTest:(id)sender
{

    [UIView animateWithDuration:1 delay:0 options:UIViewAnimationOptionCurveEaseIn animations:^{

        lblTest.layer.transform = CATransform3DMakeRotation(M_PI,0.0,1.0,0.0);

    }completion:^(BOOL finished) {
        if(finished)
            NSLog(@"DONE");
    }];
}

【问题讨论】:

    标签: ios cocoa-touch core-graphics


    【解决方案1】:

    它不起作用的原因是在第一次按下按钮时,视图旋转设置为 180 度。在第二个按钮按下时,您再次将旋转设置为 180 度,但由于这与旋转的当前值相同,因此没有任何反应。您真正想要做的是将旋转设置为 180 度 + 当前旋转。您可以通过以下更改将当前变换旋转 180 度来实现此目的。

    lblTest.layer.transform = CATransform3DRotate(lblTest.layer.transform, M_PI,0.0,1.0,0.0);
    

    【讨论】:

      猜你喜欢
      • 2019-10-30
      • 1970-01-01
      • 1970-01-01
      • 2015-12-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多