iOS翻页动画-CATransition
来源:互联网 发布:350淘宝装修下载 编辑:程序博客网 时间:2024/04/28 02:07
今天研究了下iOS的一些页面翻转动画,即CATransition,特此记录。
CATransition是转场动画,主要是页面、图片切换时的一些动画效果(个人理解)
CATransition的属性:CATransition继承自CAAnimation,所以CAAnimation的属性都有,特有的属性有5个
(1)@property(copy)NSString *type;//类别,转场动画的名称,系统公有apiyou4个:
/* Common transition types. */
CA_EXTERN NSString *const kCATransitionFade
__OSX_AVAILABLE_STARTING (__MAC_10_5, __IPHONE_2_0);
CA_EXTERN NSString *const kCATransitionMoveIn
__OSX_AVAILABLE_STARTING (__MAC_10_5, __IPHONE_2_0);
CA_EXTERN NSString *const kCATransitionPush
__OSX_AVAILABLE_STARTING (__MAC_10_5, __IPHONE_2_0);
CA_EXTERN NSString *const kCATransitionReveal
还有一些是私有api,自己也不知道私有api查看方法,只是从网上找的,效果不错,不过上架有可能被拒,慎用Cube, //立方体
SuckEffect, //吮吸
OglFlip, //翻转
RippleEffect, //波纹
PageCurl, //翻页
PageUnCurl, //反翻页
CameraIrisHollowOpen, //开镜头
CameraIrisHollowClose, //关镜头
(2)@property(nullable,copy)NSString *subtype; //方向种类,就是页面从哪个方向显示和消失
/* Common transition subtypes. */
CA_EXTERN NSString *const kCATransitionFromRight
__OSX_AVAILABLE_STARTING (__MAC_10_5, __IPHONE_2_0);
CA_EXTERN NSString *const kCATransitionFromLeft
__OSX_AVAILABLE_STARTING (__MAC_10_5, __IPHONE_2_0);
CA_EXTERN NSString *const kCATransitionFromTop
__OSX_AVAILABLE_STARTING (__MAC_10_5, __IPHONE_2_0);
CA_EXTERN NSString *const kCATransitionFromBottom
__OSX_AVAILABLE_STARTING (__MAC_10_5, __IPHONE_2_0);
(3)@propertyfloat startProgress;
(4)@propertyfloat endProgress;
startProgress和endProgress是关联属性,是设置动画的开始进度和结束进度,默认的是startProgress=0,endProgress=1,是显示完整的动画,如果endProgress=0.5只显示前一半的动画了,两个值的范围都是0-1,并且endProgress必须大于等于startProgress,当然等于的话就不显示动画了
(5)@property(nullable,strong)id filter;//这个是滤镜的效果,使用后type和subtype都无效,默认为nil,我自己也没研究清楚,就不说了
动画的实现:
CATransition *pushTS = [CATransitionanimation];
pushTS.duration =0.5;
pushTS.timingFunction = [CAMediaTimingFunctionfunctionWithName:kCAMediaTimingFunctionEaseInEaseOut];
pushTS.type =@"cube";
pushTS.subtype =kCATransitionFromRight;
[self.navigationController.view.layeraddAnimation:pushTSforKey:@"navigation"];[self.tabBarController.view.layeraddAnimation:pushTSforKey:@"tabbar"];
这样在跳转页面的时候就有动画效果了,需要在点击方法里面设置,如果直接在viewdidload中设置无效
如果是每次进入这个页面都需要动画,可以在第二页的viewwillappear中设置,如果跳出页面都需要相同动画,也可以在第一页的viewwilldisappear中设置,
由于第二个页面的viewwillappear后执行,第一个页面的viewwillappear先执行,所有同时有的话会执行第二个页面的viewwillappear中的
同样,在其它view的layer上添加也能实现动画效果
- iOS翻页动画-CATransition
- iOS动画 CATransition动画
- iOS 动画总结--CATransition
- iOS动画浅析-CATransition
- iOS CATransition动画Demo
- iOS CATransition动画
- iOS动画浅析-CATransition
- iOS切换动画CATransition
- iOS动画效果 CATransition
- iOS转场动画CATransition
- Iphone翻页动画效果--CATransition实现
- iOS 基于CATransition实现翻页、旋转等动画效果 —— HERO博客
- CATransition转场动画-IOS开发
- 【iOS开发】---- 转场动画 CATransition
- ios 动画效果CATransition笔记
- 【iOS开发】---- 转场动画 CATransition
- iOS 核心动画之CATransition
- ios 动画效果CATransition笔记
- 强大的 pdf 编辑器 —— Acrobat
- 备份数据库-mysqldump/resource
- 支付宝集成
- JS初级获取元素的第二种方法
- iOS App被拒原因
- iOS翻页动画-CATransition
- 全屏滚动插件fullPage.js
- 从零自学Hadoop(21):HBase数据模型相关操作下
- 如何成为一名数据科学家?
- html-cookie
- 2016-10-19 node.js, web service
- Java 构造器
- Android沉浸式状态栏
- centos6.5 部署java 环境