ios CAAnimation初窥
2015-10-12 15:13
489 查看
在IOS中制作简单的动画可以使用CAAnimation这个类进行制作,基本的使用方法,定义CABsciAnimation这个基础的动画类,设置动画类型,transform.rotation(旋转)、ansform.scale(缩放) 、opacity透明,CAAnimationGroup将所有的动画组合使用,设置动画开始位置,执行时间beginTime和动画的时长:duration.
let duration: CFTimeInterval = 1 let beginTime = CACurrentMediaTime() // Rotate animation let rotateAnimation = CABasicAnimation(keyPath: "transform.rotation.z") rotateAnimation.fromValue = NSNumber(int: 0) rotateAnimation.toValue = NSNumber(double: M_PI * 2) rotateAnimation.duration = duration; // Scale animation let scaleAnimation = CAKeyframeAnimation(keyPath: "transform.scale") scaleAnimation.keyTimes = [0] scaleAnimation.values = [1, 2] scaleAnimation.duration = 0 // Opacity animation let opacityAnimaton = CAKeyframeAnimation(keyPath: "opacity") opacityAnimaton.keyTimes = [0, 0.5] opacityAnimaton.values = [1, 0] opacityAnimaton.duration = duration // Scale animation let scaleAnimation2 = CAKeyframeAnimation(keyPath: "transform.scale") scaleAnimation2.keyTimes = [0, 0.5] scaleAnimation2.values = [2, 0] scaleAnimation2.duration = duration let animation = CAAnimationGroup() animation.animations = [rotateAnimation, scaleAnimation, opacityAnimaton, scaleAnimation2] animation.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionLinear) animation.duration = duration animation.repeatCount = HUGE animation.removedOnCompletion = false animation.beginTime = beginTime timeLabel.layer.addAnimation(animation, forKey: "animation") self.layer.addSublayer(timeLabel.layer)
相关文章推荐
- iOS中属性与成员变量的区别
- iOS 的本地通知知识的解释
- GCD实现计时器
- iOS 9适配技巧(更新版)
- iOS开发日记33-hit-Test
- iOS-BUG整理 设置按钮图片和文字遇到的问题
- IOS去除第三方控件中的字符
- 用CocoaPods做iOS程序的依赖管理
- ios应用加速审核通道
- iOS公司开发者账号申请详细教程
- ios Undefined symbols for architecture arm64
- ios9 苹果原生视频播放器
- IOS CoreText.framework --- 段落样子CTParagraphStyle
- iOS 解析JSON
- iOS 9适配技巧(更新版)
- [IOS 开发] OC 定义一个方法,参数数量可变.
- IOS9之后适配需要注意的问题
- iOS9适配系列教程
- iOS开发——视频播放
- iOS判断输入的字符串是否是纯数字