指南针
import UIKit
import CoreLocation
class ViewController: UIViewController {
@IBOutlet weak var compassImageView: UIImageView!
var CLManager = CLLocationManager()
override func viewDidLoad() {
super.viewDidLoad()
CLManager.delegate = self
CLManager.startUpdatingHeading()
}
}
extension ViewController: CLLocationManagerDelegate {
func locationManager(manager: CLLocationManager, didUpdateHeading newHeading: CLHeading) {
//判断当前设备的朝向信息是否可用
guard newHeading.headingAccuracy > 0 else {
return
}
//获取设备的朝向角度
let direction = newHeading.magneticHeading
let angle = direction/180*M_PI
//设置动画
UIView.animateWithDuration(0.5) {
self.compassImageView.transform = CGAffineTransformMakeRotation(-CGFloat(angle))
}
}
}