【发布时间】:2017-07-11 04:01:26
【问题描述】:
我有以下 UIView 扩展来执行蜂鸣动画。
虽然结局不流畅,但动画效果很好。对于最终的动画计数,UIView 转到 center.x - 40 并粗暴地返回到 center.x。
我无法让它以一种顺利的方式结束。我怎样才能做到这一点?
extension UIView {
func buzz() {
let animation = CABasicAnimation(keyPath: "position")
animation.duration = 0.4
animation.repeatCount = 2
animation.autoreverses = true
animation.fromValue = NSValue(cgPoint: CGPoint(x: self.center.x - 40.0, y: self.center.y))
animation.toValue = NSValue(cgPoint: CGPoint(x: self.center.x + 40.0, y: self.center.y))
animation.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseInEaseOut)
layer.add(animation, forKey: "position")
}
}
【问题讨论】:
标签: ios swift uiview core-animation