系统自带(四种效果):
presentModalViewController模态的动画效果设置:
- UIViewController *detailViewController = [[UIViewController alloc] init];
- detailViewController.modalTransitionStyle = UIModalTransitionStylePartialCurl; // 设置动画效果
- [self presentModalViewController:detailViewController animated:YES];
- [detailViewController release];
共有以下四种动画效果:
- typedef enum {
- UIModalTransitionStyleCoverVertical = 0,
- UIModalTransitionStyleFlipHorizontal,
- UIModalTransitionStyleCrossDissolve,
- #if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_3_2
- UIModalTransitionStylePartialCurl,
- #endif
- } UIModalTransitionStyle;
自定义:
- <span style="color:#330033;">CATransition *animation = [CATransition animation];
- [animation setDuration:0.5];
- [animation setType:kCATransitionPush];
- [animation setSubtype:kCATransitionFromRight];
- [animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];
- [[myViewController.view layer] addAnimation:animation forKey:@"SwitchToView"];
- [self presentModalViewController:myViewController animated:NO];</span>
实现全翻页效果:
CATransition *animation = [CATransition animation];
animation.duration = 1.0;
animation.timingFunction = UIViewAnimationCurveEaseInOut;
animation.type = @"pageCurl";
//animation.type = kCATransitionPush;
animation.subtype = kCATransitionFromLeft;
[self.view.window.layer addAnimation:animation forKey:nil];
[self presentModalViewController:myNextViewController animated:NO completion:nil];
常見的轉換類型(type):
kCATransitionFade //淡出
kCATransitionMoveIn //覆盖原图
kCATransitionPush //推出
kCATransitionReveal //底部显出来
SubType:
kCATransitionFromRight
kCATransitionFromLeft // 默认值
kCATransitionFromTop
kCATransitionFromBottom
设置其他动画类型的方法(type):
pageCurl 向上翻一页
pageUnCurl 向下翻一页
rippleEffect 滴水效果
suckEffect 收缩效果,如一块布被抽走
cube 立方体效果
oglFlip 上下翻转效果