iOS开发 - 指南针

指南针
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))
        }
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容