私は現在、iOS6のプログラミングの初心者向けガイドを作成しています。2つのビュー間の切り替えをアニメーション化しようとしたときは、今までは問題ありませんでした。演習の最終的な目標は、各ビューが他のビューの裏側にあるように見せることでした(コイン/紙の側面のように)。
ただし、本に記載されているコードを使用すると、アニメーションの1つだけがアクティブになりますが、本には、コードは両方で機能するはずであると書かれています。
私は自分のコードを何度も調べて、正しく実行したことを確認しましたが、自分が持っているコードと本にあるコードの違いを区別できませんでした。私はそれが私がしている(またはおそらくしていない)単純なことであることを知っていますが、私はそれを見つける経験がありません。
どんな助けでも大歓迎です。
コード:
- (IBAction)switchViews:(id)sender
{
[UIView beginAnimations:@"View Flip" context:nil];
[UIView setAnimationDuration:1.25];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
if (self.yellowViewController.view.superview == nil) {
if (self.yellowViewController == nil) {
self.yellowViewController = [[BIDYellowViewController alloc] initWithNibName:@"YellowView" bundle:nil];
}
// This one doesn't work
[UIView setAnimationTransition:UIViewAnimationOptionTransitionFlipFromRight forView:self.view cache:YES];
[self.blueViewController.view removeFromSuperview];
[self.view insertSubview:self.yellowViewController.view atIndex:0];
}
else
{
if (self.blueViewController == nil) {
self.blueViewController = [[BIDBlueViewController alloc] initWithNibName:@"BlueView" bundle:nil];
}
// This one works
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:self.view cache:YES];
[self.yellowViewController.view removeFromSuperview];
[self.view insertSubview:self.blueViewController.view atIndex:0];
}
[UIView commitAnimations];
}