我正在尝试旋转和图像以直观地向用户显示指南针的方向。因此,我试图将角度提供给一个函数,以便在角度方向上旋转图像,但是图像只是旋转失控,并且在最终停止时似乎不正确。每次代理触发时都会调用此函数:locationManager(manager: CLLocationManager!, didUpdateHeading newHeading: CLHeading!)
。有人能指出我正确的方向吗?
func headingDidChange(headingAngle: Double) {
UIView.animateWithDuration(1.0, animations: {
self.compassImage.transform = CGAffineTransformMakeRotation(CGFloat(headingAngle))
})
}
答案 0 :(得分:4)
在委托方法中尝试以下代码来旋转图像。
let oldRad:Float = 1.259374
let newRad:Float = 1.239832
let theAnimation = CABasicAnimation(keyPath: "transform.rotation")
theAnimation.fromValue = NSNumber(float: oldRad)
theAnimation.toValue = NSNumber(float: newRad)
theAnimation.duration = 0.2
self.compassImage!.layer.addAnimation(theAnimation, forKey: "animateMyRotation")
self.compassImage!.transform = CGAffineTransformMakeRotation(CGFloat(newRad))