1 //转场代码必须得要和转场动画在同一个方法当中. 2 //创建动画 3 CATransition *anim = [CATransition animation]; 4 5 //设置转场类型 6 anim.type = @"pageCurl"; 7 8 //设置转场的方向 9 anim.subtype = kCATransitionFromTop; 10 //设置动画的开始点. 11 anim.startProgress = 0.2; 12 //设置动画的结束点. 13 anim.endProgress = 0.8; 14 15 anim.duration = 1; 16 [self.imageV.layer addAnimation:anim forKey:nil]; 17 18 //转场代码 19 20 _i++; 21 if (_i > 3) { 22 _i = 1; 23 } 24 NSString *imageName = [NSString stringWithFormat:@"%d",_i]; 25 self.imageV.image = [UIImage imageNamed:imageName]; 26
1 [UIView transitionWithView:self.imageV duration:1 options:UIViewAnimationOptionTransitionCrossDissolve animations:^{ 2 3 _i++; 4 if (_i > 3) { 5 _i = 1; 6 } 7 NSString *imageName = [NSString stringWithFormat:@"%d",_i]; 8 self.imageV.image = [UIImage imageNamed:imageName]; 9 10 11 } completion:nil]; 12 /** 13 UIView的转场动画类型 14 UIViewAnimationOptionTransitionNone = 0 << 20, // default 15 UIViewAnimationOptionTransitionFlipFromLeft = 1 << 20, 16 UIViewAnimationOptionTransitionFlipFromRight = 2 << 20, 17 UIViewAnimationOptionTransitionCurlUp = 3 << 20, 18 UIViewAnimationOptionTransitionCurlDown = 4 << 20, 19 UIViewAnimationOptionTransitionCrossDissolve = 5 << 20, 20 UIViewAnimationOptionTransitionFlipFromTop = 6 << 20, 21 UIViewAnimationOptionTransitionFlipFromBottom = 7 << 20, 22 23 */
转场类型:
|
类型字符串 |
效果说明 |
关键字 |
方向 |
|
fade |
交叉淡化过渡 |
YES |
|
|
push |
新视图把旧视图推出去 |
YES |
|
|
moveIn |
新视图移到旧视图上面 |
YES |
|
|
reveal |
将旧视图移开,显示下面的新视图 |
YES |
|
|
cube |
立方体翻滚效果 |
||
|
oglFlip |
上下左右翻转效果 |
||
|
suckEffect |
收缩效果,如一块布被抽走 |
NO |
|
|
rippleEffect |
水滴效果 |
NO |
|
|
pageCurl |
向上翻页效果 |
||
|
pageUnCurl |
向下翻页效果 |
||
|
cameraIrisHollowOpen |
相机镜头打开效果 |
NO |
|
|
cameraIrisHollowClose |
相机镜头关闭效果 |
NO |
浙公网安备 33010602011771号