iOS:动画项目两次
Posted
技术标签:
【中文标题】iOS:动画项目两次【英文标题】:iOS: Animate item twice 【发布时间】: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");
];
【问题讨论】:
【参考方案1】:它不起作用的原因是在第一次按下按钮时,视图旋转设置为 180 度。在第二个按钮按下时,您再次将旋转设置为 180 度,但由于这与旋转的当前值相同,因此没有任何反应。您真正想要做的是将旋转设置为 180 度 + 当前旋转。您可以通过以下更改将当前变换旋转 180 度来实现此目的。
lblTest.layer.transform = CATransform3DRotate(lblTest.layer.transform, M_PI,0.0,1.0,0.0);
【讨论】:
以上是关于iOS:动画项目两次的主要内容,如果未能解决你的问题,请参考以下文章