swift2.0 CASpringAnimation 和 UIView.animateWithDuration 分
发布时间:2020-12-14 01:45:00 所属栏目:百科 来源:网络整理
导读:首先我创建了两个view 一个红色的 一个黄色的 分别代表两个方法要实现动画的界面 var readView: UIView ! var yellowView: UIView ! override func viewDidLoad() { super .viewDidLoad () readView = UIView (frame: CGRectMake( 0 , 60 , 60 )) readView .
首先我创建了两个view 一个红色的 一个黄色的 分别代表两个方法要实现动画的界面 var readView:UIView!
var yellowView:UIView!
override func viewDidLoad() {
super.viewDidLoad()
readView = UIView(frame: CGRectMake(0,60,60))
readView.backgroundColor = UIColor.redColor()
self.view.addSubview(readView)
yellowView = UIView(frame: CGRectMake(0,140,60))
yellowView.backgroundColor = UIColor.yellowColor()
self.view.addSubview(yellowView)
// Do any additional setup after loading the view,typically from a nib.
}
我们将在 override func viewDidAppear(animated: Bool)方法里实现两个动画 SpringDamping 阻尼系数 0~1 系数越小 弹性越明显 SpringVelocity 速度 i UIView.animateWithDuration(1,delay: 0,usingSpringWithDamping: 0.5,initialSpringVelocity: 10,options: .CurveEaSEOut,animations: { () -> Void in self.readView.center.x = 200 }) { (Bool) -> Void in
}
ios9 后苹果推出了CASpringAnimation 方法来实现弹性动画 let springAnimation = CASpringAnimation(keyPath: "position.x")
springAnimation.damping = 5 //阻尼系数 0 ~ 10
springAnimation.mass = 1 //弹簧末端的质量 大于 0 质量越大弹性就越大
springAnimation.initialVelocity = 5 //速度
springAnimation.stiffness = 80; //弹簧刚度系数 0 到 100 系数越大力就越大
springAnimation.fromValue = yellowView.layer.position.x //起始的位置
springAnimation.toValue = yellowView.layer.position.x + CGFloat(200) //结束位置
springAnimation.duration = springAnimation.settlingDuration //结束时间
yellowView.layer.addAnimation(springAnimation,forKey: springAnimation.keyPath)
这时候我们的简单的弹性动画就实现 springAnimation.removedOnCompletion = false
springAnimation.fillMode = kCAFillModeForwards
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |