在立方体animation中切换两个视图控制器的视图

下面的代码实现了立方体animation中两个视图之间的切换。

UIViewController* viewCtrl = [[UIViewController alloc] init:book]; CATransition *transition = [CATransition animation]; transition.duration = 1; transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]; transition.type = @"cube"; transition.subtype = kCATransitionFromLeft; transition.delegate = self; [self.navigationController.view.layer addAnimation:transition forKey:nil]; self.navigationController.navigationBarHidden = NO; [self.navigationController pushViewController:viewCtrl animated:YES]; [viewCtrl release]; 

但是,如果视图不属于self.navigationController,那么如何在两个视图控制器之间切换多维数据集animation,然后如何在同一时间缩放当前视图控制器的视图? 非常感谢

这对我工作:

 -(IBAction)animate:(id)sender { NSLog(@"animate"); CATransition *transition = [CATransition animation]; transition.delegate = self; transition.duration = 0.8; transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]; NSString *types[4] = {@"cube", @"rippleEffect", @"cube", @"alignedCube"}; NSString *subtypes[4] = {kCATransitionFromLeft, kCATransitionFromRight, kCATransitionFromTop, kCATransitionFromRight}; transition.type = types[0]; transition.subtype = subtypes[1]; [self.view.layer addAnimation:transition forKey:nil]; SecondView *_secondViewController = [[SecondView alloc]initWithNibName:@"secondView" bundle:nil]; self.secondViewController = _secondViewController; _secondViewController = nil; [[[self view] layer] addAnimation: transition forKey: nil]; [[self view] addSubview: [self.secondViewController view]]; } -(void)animationDidStop:(CAAnimation *)theAnimation finished:(BOOL)flag{ [self.view release]; }