カードを裏返してから裏返す必要があります。問題なくそれを行うコードを書きました。問題は、ユーザーがこのカードを好きなだけ前後にめくることができ、その効果が累積されるように見えることです。2 回目の試行で、カードはこまのように回転します。ビューからアニメーションをクリアする方法ではなく、アニメーションを追加する方法しかないように見えるので、私は完全に驚いていません。以前にコミットしたアニメーションの 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;
}
読んでくれてありがとう。