#import <QuartzCore/QuartzCore.h>
-(void)flash{ //调用该函数动画生成
CATransition *animation = [CATransition animation];
animation.delegate = self;animation.duration = 0.7;//设置动画时间
animation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
animation.type = kCATransitionReveal;//设置动画类型
//动画类型
// kCATransitionFade 淡化
// kCATransitionPush 推挤
// kCATransitionReveal 揭开
// kCATransitionMoveIn 覆盖
// @"cube" 立方体
// @"suckEffect" 吸收
// @"oglFlip" 翻转
// @"rippleEffect" 波纹
// @"pageCurl" 翻页
// @"pageUnCurl" 反翻页
// @"cameraIrisHollowOpen" 镜头开
// @"cameraIrisHollowClose" 镜头关
// 设定动画方向
animation.subtype = kCATransitionFromLeft;
//kCATransitionFromBottom,kCATransitionFromRigh,kCATransitionFromLeft,kCATransitionFromTop 有上下左右四个方向
NSUInteger one = [[self.view subviews] indexOfObject:self.view1];//此处为切换的两个页面 如果只是在本页面内切换可以去掉这三行
NSUInteger two = [[self.view subviews] indexOfObject:self.view2];
[self.view exchangeSubviewAtIndex:one withSubviewAtIndex:two];
[[self.view layer] addAnimation:animation forKey:@"animation"];
}
// 动画开始时调用
- (void)animationDidStart:(CAAnimation *)anim
{
}
// 动画结束时调用
- (void)animationDidStop:(CAAnimation *)anim finished:(BOOL)flag
{
}