刚开始使用核心图形。玩一个简单的按钮和标签。我希望每次点击按钮时此标签旋转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");
}];
}
答案 0 :(得分:2)
它不起作用的原因是因为在按下第一个按钮时,视图旋转设置为180度。按下第二个按钮,再次将旋转设置为180度,但由于这与旋转的当前值相同,因此没有任何反应。你真正想要做的是将旋转设置为180度+当前旋转。您可以通过将当前变换旋转180度来实现此目的,并进行以下更改。
lblTest.layer.transform = CATransform3DRotate(lblTest.layer.transform, M_PI,0.0,1.0,0.0);