UI - 视图控制器跳转另一个视图控制器特效总结

时间:2023-12-11 09:27:20

1. 从一个视图控制器跳转另一个视图控制器的方式是可以进行设置的

CATransition *animation = [[CATransition alloc]init];

animation.duration = 1;

animation.type = @"pageCurl";  //立方体翻滚效果

animation.subtype = @"fromBottom";  //从底部开始

[self.view.window.layer addAnimation:animation forKey:nil];

//若封装扩展方法,可以直接调用该方法代替上边的 行

[self.view.superview addTansitionAnimationType:TranstionTypeCube duration:1 direction:TransitionDirectionFromBottom];

1.1 过渡效果

fade     //交叉淡化过渡(不支持过渡方向)

push     //新视图把旧视图推出去

moveIn   //新视图移到旧视图上面

reveal   //将旧视图移开,显示下面的新视图

cube     //立方体翻滚效果

oglFlip  //上下左右翻转效果

suckEffect   //收缩效果,如一块布被抽走(不支持过渡方向)

rippleEffect //滴水效果(不支持过渡方向)

pageCurl     //向上翻页效果

pageUnCurl   //向下翻页效果

cameraIrisHollowOpen  //相机镜头打开效果(不支持过渡方向)

cameraIrisHollowClose //相机镜头关上效果(不支持过渡方向)

1.2 翻转方向

fromLeft   //从左边

fromRight  //从右边

fromTop    //从上边

fromBottom //从底部

在使用过程中,为使用方便,我们可以对UIView进行类拓展,将使用的翻转效果封装成枚举常量,方便我们快速查找,调用相应的方法即可快速设置

如调用方法为:

-(void)addTansitionAnimationType:(TranstionType )type duration:(NSTimeInterval)duration direction:(TransitionDirection )direction;

类扩展示例:见 --> UIViewAnimation