ios开发控制器动画
来源:互联网 发布:西安黑马程序员好吗? 编辑:程序博客网 时间:2024/05/18 04:01
一、模态视图动画
1、通过modalTransitionStyle属性来设置弹出模态视图的转场动画,即过渡样式
UIModalTransitionStyleCoverVertical // 底部滑入。UIModalTransitionStyleFlipHorizontal // 水平翻转。UIModalTransitionStyleCrossDissolve // 交叉溶解。UIModalTransitionStylePartialCurl // 翻页。
//跳转之后覆盖整个屏幕,不透明UIModalPresentationFullScreen = 0 //跳转之后覆盖整个屏幕,不透明UIModalPresentationPageSheet //跳转之后覆盖整个屏幕,不透明UIModalPresentationFormSheet //跳转之后覆盖当前内容(除导航栏和标签栏部分),不透明UIModalPresentationCurrentContext //跳转之后显示自定制视图(默认是覆盖整个屏幕),可以透明UIModalPresentationCustom //跳转之后覆盖整个屏幕,可以透明UIModalPresentationOverFullScreen //跳转之后覆盖当前内容(除导航栏和标签栏部分),可以透明UIModalPresentationOverCurrentContext //跳转之后覆盖整个屏幕,不透明UIModalPresentationPopover
举个栗子
TwoViewController *twoVc = [[TwoViewController alloc] init];//把当前控制器作为背景self.definesPresentationContext = YES;twoVc.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;twoVc.modalPresentationStyle = UIModalPresentationOverCurrentContext; [self presentViewController:twoVc animated:YES completion:nil];
3、定制模态跳转
TwoViewController *twoVc = [[TwoViewController alloc] init]; //创建动画 CATransition * transition = [CATransition animation]; //设置动画类型(这个是字符串,可以搜索一些更好看的类型) transition.type = @"cube"; //动画出现类型,动画的方向 transition.subtype = @"fromCenter"; //动画时间 transition.duration = 0.3; //移除当前window的layer层的动画 [self.view.window.layer removeAllAnimations]; //将定制好的动画添加到当前控制器window的layer层 [self.view.window.layer addAnimation:transition forKey:nil]; [self presentViewController:twoVc animated:NO completion:nil];
动画类型type的其它参数
设置动画的属性fade 交叉淡化过渡push 新视图把旧视图推出去moveIn 新视图移到旧视图上面reveal 将旧视图移开,显示下面的新视图cube 立方体翻滚效果-----好oglFlip 上下左右翻转效果---好suckEffect 收缩效果,如一块布被抽走---好rippleEffect 水滴效果-----好pageCurl 向上翻页效果pageUnCurl 向下翻页效果cameraIrisHollowOpen 相机镜头打开效果cameraIrisHollowClose 相机镜头关闭效果
二、自定义转场动画
有3种类型,需要用到如下三个协议:
1、UINavigationControllerDelegate - 自定义navigationController转场动画的时候
2、UITabBarControllerDelegate - 自定义tabbarController转场动画的时候
3、UIViewControllerTransitioningDelegate - 自定义present / dismiss的时候
后续研究,参考博客:
https://onevcat.com/2013/10/vc-transition-in-ios7/
http://www.jianshu.com/p/73e65b70340e
阅读全文
0 0
- ios开发控制器动画
- iOS 控制器跳转动画
- [IOS 开发] 利用Runtime自定义控制器POP手势动画
- [IOS 开发] 格瓦拉 控制器之间的换场动画。
- ios开发控制器-UIViewController
- ios开发 导航控制器
- iOS学习应用开发就业课:第7章_060:导航控制器动画
- IOS 控制器切换的动画样式
- ios自定义导航控制器转场动画
- iOS视图控制器转场动画详解
- iOS - 多控制器切换(带滑动动画)
- iOS开发中的控制器-UIViewController-
- iOS开发 - UIViewController控制器管理
- iOS开发:UINavigationController导航控制器
- iOS 开发之 导航控制器
- iOS开发 - 气泡控制器 IPAD
- iOS开发-视图控制器相关
- iOS开发-UIActivityIndicatorView(指示控制器)
- VirtualBox虚拟机中安装CentOS 7(八)安装zookeeper
- 网易2017校招 [编程题] 最长公共子括号序列@Java
- mybaits nor a Result Map was specified,以及transcation对应的@Transcational
- 设计模式
- Python基础——类
- ios开发控制器动画
- Web service是什么?
- java计算两个时间段的精确天数
- LeetCode 15. 3Sum
- Quo Vadis, Action Recognition? A New Model and the Kinetics Dataset
- mysql安装出现error Nr.1045----转
- 阿里云虚拟主机使用教程
- 箭头函数
- Python3 MySQL 数据库连接