1. 若是用presentModalViewController, 能够这样作:动画
Objective-Curl
1spa 2ip 3animation 4it 5io 6table |
- (IBAction)infoButtonPressed:(id)sender {function InfoViewController *infoViewController = [[InfoViewController alloc] initWithNibName: @"DAandPAInfo" bundle: [NSBundle mainBundle]];import self.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal; [self presentModalViewController: infoViewController animated: YES]; [infoViewController release]; } |
2. 若是是pushViewController, 则复杂一点
CATransition *transition = [CATransition animation];
transition.duration = 1.0f;/* 间隔时间*/
transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];/* 动画的开始与结束的快慢*/
transition.type = @"reveal";/* 各类动画效果*/
//@"cube" @"moveIn" @"reveal" @"fade"(default) @"pageCurl" @"pageUnCurl" @"suckEffect" @"rippleEffect" @"oglFlip" @“twist”
transition.subtype = kCATransitionFromTop;/* 动画方向*/
//各类动画效果
/*
kCATransitionFade;
kCATransitionMoveIn;
kCATransitionPush;
kCATransitionReveal;
*/
/*
kCATransitionFromRight;
kCATransitionFromLeft;
kCATransitionFromTop;
kCATransitionFromBottom;
*/
transition.delegate = self;
[self.navigationController.view.layer addAnimation:transition forKey:nil];
TestViewController *next = [[TestViewController alloc] init];
[self.navigationController pushViewController: next animated:NO];