Swift 动画效果
来源:互联网 发布:杭州高达软件 编辑:程序博客网 时间:2024/06/06 17:23
- 原生UIKit CoreAnimation
let ball = UIView(frame: CGRectMake(50, 50, 100, 100))ball.backgroundColor = UIColor.purpleColor()ball.layer.cornerRadius = 50self.view.addSubview(ball)//动画执行时间, 延迟时间,动画运动曲线,所有变化结果,结束后执行的闭包// UIView.animateWithDuration(0.5, delay: 1, options: UIViewAnimationOptions.CurveEaseInOut, animations: { () -> Void in//变化结果//ball.transform = CGAffineTransformMakeScale(2, 2), //动画组合Concat// ball.transform = CGAffineTransformConcat(CGAffineTransformMakeScale(1.2, 1.2), CGAffineTransformMakeTranslation(150, 140))// //ball.backgroundColor = UIColor.grayColor()// }, completion: nil)//弹性动画usingSpringWithDamping 相当于减速运动中减速度,initialSpringVelocity初速度UIView.animateWithDuration(2, delay: 1.5, usingSpringWithDamping: 0.3, initialSpringVelocity: 0, options: UIViewAnimationOptions.CurveEaseInOut, animations: { () -> Void in ball.transform = CGAffineTransformConcat(CGAffineTransformMakeScale(1.2, 1.2), CGAffineTransformMakeTranslation(150, 140)) }, completion: nil)
2.JNW
先去 git上 https://github.com/jwilling/JNWSpringAnimation
是oc写的,所以要做一些改动,在桥接文件中倒入JNW后,还要再导入UIKit/UIKit.h
- 放大缩小
class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() let ball = UIView(frame: CGRectMake(50, 50, 100, 100)) ball.backgroundColor = UIColor.purpleColor() ball.layer.cornerRadius = 50 self.view.addSubview(ball) //创建JNW对象 let scale1 = JNWSpringAnimation(keyPath: "transform.scale") //设置阻尼值(动画衰减) scale1.damping = 6 //设置弹性系数(动画振幅) scale1.stiffness = 100 //设置质量(动画快慢效果) scale1.mass = 2 //设置初始值与接收值 scale1.fromValue = 1 scale1.toValue = 2 //将JNW赋给ball ball.layer.addAnimation(scale1, forKey: scale1.keyPath) //默认还原初始状态,手动修改 ball.transform = CGAffineTransformMakeScale(2, 2) }
- 旋转
let rotation = JNWSpringAnimation(keyPath: "transform.rotation") rotation.damping = 3 rotation.stiffness = 100 rotation.mass = 1 rotation.fromValue = 0 rotation.toValue = M_PI_2 ball.layer.addAnimation(rotation, forKey: rotation.keyPath) ball.transform = CGAffineTransformMakeRotation(CGFloat(M_PI_2))
- 水平移动
var angle:Double = 1 let translation = JNWSpringAnimation(keyPath: "transform.translation.x") translation.damping = 6 translation.stiffness = 100 translation.mass = 2 translation.fromValue = 0 translation.toValue = 400 ball.layer.addAnimation(translation, forKey: translation.keyPath) ball.transform = CGAffineTransformMakeTranslation(400, 0)
JNW组合动画,要几个效果创建几个JNW对象就可以了!
0 0
- Swift 动画效果
- Swift实现洗牌动画效果
- Swift 组合动画效果(JNW、POP)
- Swift - 动画效果的实现方法总结
- IOS swift的动画效果及实现方法
- swift空间位置,大小改变的动画效果
- Swift版本仿网易云音乐播放音乐动画效果
- Swift - 动画效果的实现方法总结(附样例)
- Swift中设置自定义tabBar按钮的动画效果
- swift 动画
- 动画效果
- 动画效果
- 动画效果
- 动画效果
- 动画效果
- 动画效果
- 动画效果
- 动画效果
- 《Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification》阅读笔记与实现
- ViewPager+Fragment基本使用方法(附源码)
- android开发环境手动搭建
- JSP Filter,GZIP压缩响应流
- 迭代器
- Swift 动画效果
- poj 2492(并查集)
- 打印1到最大的n位数
- session原理及集群中session共享实现原理
- 渐变背景效果
- Git环境安装配置
- Win7运行程序总提示出现一个问题,导致程序停止正常工作。请关闭该程序?原来GreenBrowser下载有问题……
- UVa 10129 - Play on Words(欧拉道路)
- 协议(protocol)和委托(delegate)