【发布时间】:2017-02-11 21:59:29
【问题描述】:
这是我的问题,每当我点击它应该居中的任何按钮时,我正在使用 CGAffineTransform 和 CABasicAnimation,但我无法获得我应该旋转的角度,它们每个都是圆形按钮,任何帮助将不胜感激
旋转代码
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)))
}
//初始中心点是旋转前第三个按钮的中心
【问题讨论】:
标签: ios swift caanimation