核心动画中的动画组和转场动画
动画组 CAAnimationGroup
- (void)demoAnimationGroup
{static NSString * const kCAPostionKeyPath = @"position";static NSString * const kCAOpacityKeyPath = @"opacity";static NSString * const kCARotationKeyPath = @"transform.rotation";static NSString * const kCAScaleKeyPath = @"transform.scale";UIBezierPath *path = [UIBezierPath bezierPath];[path moveToPoint:_demoView.layer.position];[path addCurveToPoint:CGPointMake(260, 400) controlPoint1:CGPointMake(0, 460) controlPoint2:CGPointMake(320, 0)];//路径动画CAKeyframeAnimation *posAnimation = [CAKeyframeAnimation animationWithKeyPath:kCAPostionKeyPath];posAnimation.path = path.CGPath;posAnimation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];//透明度动画CABasicAnimation *opaAnimation = [CABasicAnimation animationWithKeyPath:kCAOpacityKeyPath];opaAnimation.duration = 2.0f;opaAnimation.toValue = @(0.3f);opaAnimation.autoreverses = YES;//旋转动画CABasicAnimation *rotAnimation = [CABasicAnimation animationWithKeyPath:kCARotationKeyPath];rotAnimation.duration = 2.0f;rotAnimation.toValue = @(M_PI);rotAnimation.autoreverses = YES;//缩放动画CABasicAnimation *scaAnmaiton = [CABasicAnimation animationWithKeyPath:kCAScaleKeyPath];scaAnmaiton.duration = 2.0f;scaAnmaiton.toValue = @(1.5f);scaAnmaiton.autoreverses = YES;//设置动画组CAAnimationGroup *group = [CAAnimationGroup animation];group.animations = @[posAnimation, opaAnimation, rotAnimation, scaAnmaiton];group.duration = 4.0f;group.removedOnCompletion = NO;group.fillMode = kCAFillModeForwards;[_demoView.layer addAnimation:group forKey:nil];
}
这个动画组对demoView的layer加入了一些同时进行的动画,比如双控制点的贝塞尔路径,透明度的渐隐渐明,旋转以及缩放等。
CATransition
- (void)viewTransition
{static NSString * const kCATransitionTypeFlip = @"oglFlip"; //翻页效果CATransition *transition = [CATransition animation];transition.type = kCATransitionTypeFlip;transition.subtype = kCATransitionFromRight;transition.duration = 1.5f;[_transitionOrangeView.layer addAnimation:transition forKey:nil];[self.view performSelector:@selector(sendSubviewToBack:) withObject:_transitionOrangeView afterDelay:1.0f];
}
这个方法简单的实现了view翻页的效果,当然目前控制器的根view只有一个subview,所以使用sendSubviewToBack的方法后显示的还是这个view,但是看到了动画效果。
- (void)anotherTransition
{_transitionBlueView = [[UIView alloc] initWithFrame:self.view.bounds];_transitionBlueView.backgroundColor = [UIColor blueColor];[UIView transitionFromView:_transitionOrangeViewtoView:_transitionBlueViewduration:1.0foptions:UIViewAnimationOptionTransitionCrossDissolve completion:nil];
}
代码很简洁和易读。
核心动画中的动画组和转场动画相关推荐
- android+原点扩散动画,捋一捋Android的转场动画
捋一捋Android的转场动画 由于录制的gif过大,导致CSDN部分gif无法显示,可以传送到GitHub查看本篇博客 背景 随着 Material Design设计概念的提出,使得很多的开发过程中 ...
- iOS自定义转场动画(1)——自定义Push转场动画
版本:Xcode 7.0.1 语言:Objective-C 转场动画就是viewController之间切换的动画. 主要有以下三种自定义方法: 列Push & Pop Modal Segue ...
- 动画中的View的点击判断
本文内容为原创,转载者请注明原始作者以及原始出处,以避免版权纠纷! 在开发Android应用过程中,我曾遇到过下面的问题: 假设有一个View,它在做一系列复杂的.组合的Tween动画(平 ...
- android 转场动画 监听,Android 中的转场动画及兼容处理
Android 中的动画有很多,除了在一个界面上使用帧动画.属性动画将一个或多个 View 进行动画处理以外,还可以用于两个界面之间过渡.跳转.在 Android 5.0 之前,我们已经有了 over ...
- 定格动画中运用的计算机技术是,定格动画中现代技术发展与应用.doc
定格动画中现代技术发展与应用 定格动画中现代技术的发展和应用 [摘 要]定格动画的发展是有目共睹的,在继承传统定格动画制作手法的同时,未来还需完善定格动画更先进的制作手段.要充分利用现代科技,完善造型 ...
- (0030) iOS 开发之跳转之转场动画
demo: 1 iOS ~ ViewController的Push,Pop和Present,Dismiss转场动画 // http://blog.csdn.net/zhangao0086/artic ...
- iOS自定义转场动画实战讲解
转场动画这事,说简单也简单,可以通过presentViewController:animated:completion:和dismissViewControllerAnimated:completio ...
- 控制器之间跳转实现转场动画,动画控制器概念
在iOS7以前,开发者如果希望定制导航控制器推入推出视图时的转场动画,一般都只能通过子类化UINavigationController或者自己编写动画代码去覆盖相应的方法,现在iOS7为开发者带来了福 ...
- 八 iOS之 CATransition (转场动画)
CATransition是CAAnimation的子类,用于做转场动画,能够为层提供移出屏幕和移入屏幕的动画效果. 动画转场类型 类型字符串 效果说明 关键字 方向 fade 交叉淡化过渡 YES p ...
最新文章
- matlab内存管理(二)
- Asp.net调用RAR压缩 解压文件
- 【机器学习】朴素贝叶斯代码练习
- String类能被继承吗,为什么?
- 计算机管理档案有什么好处,利用资料管理系统管理档案有什么好处
- Wireshark 实用过滤表达式
- 在ASP.NET Core中使用的ML.NET模型构建器入门
- delphi启动ie调用本地html传参数_年轻人不讲武德啊!了解下浏览器如何解析html、css,js
- android gps信号检测工具,【分享】GPS Test Plus全球GPS定位卫星信号检测工具
- excel在线_EXcel怎么把中文翻译英文?简单2招秒翻译
- 数据库实体、关系(一对一实现方式、一对多实现方式、多对多实现方式)
- sas sata ssd硬盘类型,硬盘接口
- CSDN 空间:“迷你博客”很迷人(2)
- 蓝牙冒充攻击(BIAS),无线安全不可忽视
- Python的numpy中axis=0、axis=1、axis=2解释
- CPU 手机CPU 显示 天梯图
- 智能车入门——跑车前的零碎知识<新手从零做车>
- httprunner3.x使用过程中遇到的问题
- 百度Sugar BI 数据可视化里的标签页组件如何实现
- 数据结构:递归算法时间复杂度与空间复杂度计算方法