私はCAShapeLayerでCAAnimationを使用して、左から右にストロークさせる行を単純にアニメートします(より複雑なプログラムの単なるカットダウン版です)。私は最初の四半期がほとんど瞬間的であることを示すためにそれを減速させ、残りは正常に動く。CAAnimationでUIViewAnimationCurveオプションを使用する方法
UIViewAnimationCurveオプション(例:.EaseInまたは.Linear)を設定するためにUIView.animateのオプションを使用できることがわかりました。 CAShapeLayerにCAAnimationを埋め込む際にこれらのオプションを設定することは可能ですか?アニメーションを実行するたびにアニメーションを作成する必要がありますか、または「アニメーションを実行する」コマンドがありますか?以下は
私のカットダウンコードです:事前に
// the containing UIView is called mainView
mainView.layer.sublayers = nil
// create a line using a UIBezierPath
let path = UIBezierPath()
path.move(to: CGPoint(x: 100, y: 100))
path.addLine(to: CGPoint(x: 300, y: 100))
// create a CAShapeLayer
let shapeLayer = CAShapeLayer()
shapeLayer.frame = CGRect(x: 0, y: 0, width: 1024, height: 1024)
shapeLayer.strokeColor = UIColor.green.cgColor
shapeLayer.lineWidth = 100
shapeLayer.path = path.cgPath
// create the animation
mainView.layer.addSublayer(shapeLayer)
let animation = CABasicAnimation(keyPath: "LetterStroke")
animation.fromValue = 0
animation.toValue = 1
animation.duration = 10
shapeLayer.add(animation, forKey: "animation")
感謝します。
これは正解であり、高く評価されています。私は実際に、問題が他のところにあることを発見しました。下に見てきましたが、実際に私の質問に答えました。 –