Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/96.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 设置视图之间切换的过渡动画_Ios_Animation_View - Fatal编程技术网

Ios 设置视图之间切换的过渡动画

Ios 设置视图之间切换的过渡动画,ios,animation,view,Ios,Animation,View,我目前正在阅读一本ios6编程初学者指南。直到刚才我尝试在两个视图之间来回切换动画时,一切都很好。这个练习的最终目标是让每个视图看起来像是在另一个视图的背面(就像硬币/纸的两面) 然而,当我使用书中给出的代码时,只有一个动画被激活,但书中说代码应该对这两个都有效 我已经检查了我的代码多次,以确保我做得正确,但我无法区分我的代码和书中的代码之间的差异。我知道我正在做(或者更可能不做)的事情很简单,但我只是没有找到它的经验 任何帮助都将不胜感激 代码: 这是因为你使用了UIViewAnimation

我目前正在阅读一本ios6编程初学者指南。直到刚才我尝试在两个视图之间来回切换动画时,一切都很好。这个练习的最终目标是让每个视图看起来像是在另一个视图的背面(就像硬币/纸的两面)

然而,当我使用书中给出的代码时,只有一个动画被激活,但书中说代码应该对这两个都有效

我已经检查了我的代码多次,以确保我做得正确,但我无法区分我的代码和书中的代码之间的差异。我知道我正在做(或者更可能不做)的事情很简单,但我只是没有找到它的经验

任何帮助都将不胜感激

代码:


这是因为你使用了
UIViewAnimationOptionTransitionFlipFromRight
而不是
UIViewAnimationTransitionFlipFromRight

,我觉得自己像个白痴,在发布前一个小时一直在想办法。非常感谢。
- (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];
}