我目前正在编写ios6编程的初学者指南。直到现在,当我试图在两个视图之间来回切换动画时,它一直很好。练习的最终目标是让每个视图看起来都在另一个视图的背面(如硬币/纸张的两侧)。
然而,当我使用书中给出的代码时,只有一个动画激活,但书中说代码应该适用于两者。
我多次使用我的代码,以确保我已经完成了正确的工作,而且我无法区分我所拥有的代码与本书中的代码之间的区别。我知道我正在做的事情很简单(或者更有可能不做),但我没有经验可以找到它。
非常感谢任何帮助。
代码:
- (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];
}
答案 0 :(得分:2)
因为您使用的是UIViewAnimationOptionTransitionFlipFromRight
而不是UIViewAnimationTransitionFlipFromRight