生活随笔
收集整理的这篇文章主要介绍了
iOS 重力感应之箭头指向重力方向
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
关于CoreMotion的blog有很多,也有讲特别详细的,这里就示范一个特别有用的CoreMotion的简单用法:重力方向的感应,一分钟get方法
它看起来是这样的:
这是在手机上运行的,随着手机屏幕方向的不断变化,箭头始终指向地心引力的方向。嗯,就是这样。
首先导入相关头文件: #import <CoreMotion/CoreMotion.h>
arrowImageView 是屏幕中间的那个显示箭头的imageView
@implementation ViewController- (void)viewDidLoad {[super viewDidLoad];// Do any additional setup after loading the view, typically from a nib.CMMotionManager *motionManager = [[CMMotionManager alloc]init];if (!motionManager.accelerometerAvailable) {// fail code // 检查传感器到底在设备上是否可用}motionManager.accelerometerUpdateInterval = 0.01; // 告诉manager,更新频率是100Hz/* 加速度传感器开始采样,每次采样结果在block中处理 */// 开始更新,后台线程开始运行。[motionManager startAccelerometerUpdatesToQueue:[NSOperationQueue currentQueue] withHandler:^(CMAccelerometerData *accelerometerData, NSError *error){CMAccelerometerData *newestAccel = motionManager.accelerometerData;double accelerationX = newestAccel.acceleration.x;double accelerationY = newestAccel.acceleration.y;double ra = atan2(-accelerationY, accelerationX); // 返回值的单位为弧度double degree = ra * 180 / M_PI;NSLog(@"----- %f ----", degree);self.arrowImageView.transform = CGAffineTransformMakeRotation(ra + M_PI_2);}];}@end
代码地址在这里:代码
总结
以上是生活随笔为你收集整理的iOS 重力感应之箭头指向重力方向的全部内容,希望文章能够帮你解决所遇到的问题。
如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。