0
これは私の問題です。どのボタンをタップしても中心になるはずですが、私はCGAffineTransformとCABasicAnimationを使用していますが、回転する角度を得ることができません。それらは円形に、任意の助けを回転角度を見つける2点
func rotateBarrel(with duration:CGFloat,angle:Double) {
let rotationAnimaton = CABasicAnimation(keyPath: "transform.rotation.z")
rotationAnimaton.toValue = angle
rotationAnimaton.duration = CFTimeInterval(duration)
barrelContainingView.layer.add(rotationAnimaton, forKey: "rotationAnimation")
barrelContainingView.transform = CGAffineTransform(rotationAngle: CGFloat(angle))
}
コード角度計算のため
func angleToPoint(comparisonPoint: CGPoint) -> Double {
let originPoint = CGPoint(x:comparisonPoint.x-initialCenterPoint.x,y:comparisonPoint.y-initialCenterPoint.y)
return Double(atan2f(Float(originPoint.y), Float(originPoint.x)))
}
コードを理解されるボタンです。 l中心点は回転前の3番目のボタンの中心です