我想動畫一個數字8運動UIView
。我在Swift中使用BezierPath
這樣做,但我想爲動畫添加延遲。沿着貝齊爾路徑動畫UIView延遲
let center: CGPoint = CGPoint(x: 60, y: 45)
let cent: CGPoint = CGPoint(x: 90, y: 45)
let radius: CGFloat = 15.0
let start: CGFloat = CGFloat(M_PI)
let end: CGFloat = 0.0
let path1: UIBezierPath = UIBezierPath(arcCenter: center, radius: radius, startAngle: start, endAngle: end, clockwise: true)
let path2: UIBezierPath = UIBezierPath(arcCenter: cent, radius: radius, startAngle: -start, endAngle: end, clockwise: false)
let path3: UIBezierPath = UIBezierPath(arcCenter: cent, radius: radius, startAngle: end, endAngle: -start, clockwise: false)
let path4: UIBezierPath = UIBezierPath(arcCenter: center, radius: radius, startAngle: end, endAngle: start, clockwise: true)
let paths: UIBezierPath = UIBezierPath()
paths.appendPath(path1)
paths.appendPath(path2)
paths.appendPath(path3)
paths.appendPath(path4)
let anim: CAKeyframeAnimation = CAKeyframeAnimation(keyPath: "position")
anim.path = paths.CGPath
anim.repeatCount = 2.0
anim.duration = 3.0
view.layer.addAnimation(anim, forKey: "animate position along path")
圖8的工作很好,但我不知道如何添加延遲。我曾嘗試使用像animateWithDuration(delay:options:animation:completion:)
這樣的方法,但這並沒有幫助。如果我離開底座,並且有一個更簡單的方法來創建「圖8」/「無邊循環」動畫中的UIView
,那很好。我只需要運動加上延遲。
你是如何開始沿路徑視圖的動畫? –
還是'addAnimation'觸發開始?我現在在操場上做這個 –
addAnimation啓動它。 –