Я вращаю свой CAShapeLayer
, используя анимацию, и когда я впервые активирую анимацию, она сначала вращается другим способом, а затем анимируется.Но когда я оживляю его снова, он работает так, как ожидалось (вращается один раз).Может кто-нибудь подсказать, пожалуйста, почему он так себя ведет?
Код :
func rotateLayer() {
let rotate = CABasicAnimation(keyPath: "transform.rotation.z")
let degree = 300
let radian = CGFloat(degree) * .pi / 180
let result = CATransform3DMakeRotation(radian, 0, 0, 1)
rotate.toValue = radian
rotate.duration = 2.0
// animation.fillMode = kCAFillModeForwards
// animation.isRemovedOnCompletion = false
plus.add(rotate, forKey: rotate.keyPath)
plus.transform = result
}
Образец :