iOS:两次动画项目

时间:2013-04-29 20:19:44

标签: ios cocoa-touch core-graphics

刚开始使用核心图形。玩一个简单的按钮和标签。我希望每次点击按钮时此标签旋转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");
    }];
}

1 个答案:

答案 0 :(得分:2)

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

lblTest.layer.transform = CATransform3DRotate(lblTest.layer.transform, M_PI,0.0,1.0,0.0);
相关问题