我需要翻转一张卡片,然后将其翻转回来。我已经编写了代码来毫无困难地做到这一点。麻烦来了,因为用户可以随意来回翻转这张卡,而且似乎效果是累积的。在第二次尝试时,卡片像陀螺一样旋转。我并不完全感到惊讶,因为似乎只有一种添加动画的方法,从视图中看不清楚。有没有办法“重新设置”我之前提交的任何动画的 UIView?有没有办法在不提交新的情况下捕获并重新使用它?还是我错过了一些明显的东西?这是我的代码:
if (self.flipped) {
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:1.0];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft
forView:self
cache:YES];
[imageView removeFromSuperview];
[UIView commitAnimations];
self.flipped = NO;
} else {
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:1.0];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight
forView:self
cache:YES];
[self addSubview:imageView];
[UIView commitAnimations];
self.flipped = YES;
}
谢谢阅读。