实用知识:陀螺仪的方法使用

来源:互联网 发布:vue.js基础教程 编辑:程序博客网 时间:2024/06/08 12:39
#import "ViewController.h"#import <CoreMotion/CoreMotion.h>@interface ViewController ()@property (strong, nonatomic) CMMotionManager *manager;@end@implementation ViewController- (void)viewDidLoad {    [super viewDidLoad];    _manager = [[CMMotionManager alloc] init];    if ([_manager isGyroAvailable] == NO) {        NSLog(@"陀螺仪不能用");        return;    }    // GRYO    // 获取陀螺仪数据的时间间隙    _manager.gyroUpdateInterval = 0.5;    // Pull 与 Push 方式    [self pushTest];}#pragma mark - Pull方式- (IBAction)startBtnAction:(UIButton *)sender{    if ([self.manager isGyroActive] == NO) {        [self.manager startGyroUpdates];    }}- (IBAction)pullBtnAction:(UIButton *)sender{    CMGyroData *data = [self.manager gyroData];    CMRotationRate rate = data.rotationRate;    NSLog(@"%f, %f, %f", rate.x, rate.y, rate.z);}- (IBAction)stopBtnAction:(UIButton *)sender{    if ([self.manager isGyroActive] == YES) {        [self.manager stopGyroUpdates];    }}#pragma mark Push方式- (void)pushTest{    [_manager startGyroUpdatesToQueue:[NSOperationQueue mainQueue] withHandler:^(CMGyroData * _Nullable gyroData, NSError * _Nullable error) {        // CMRotationRate 陀螺仪数据的结构体        CMRotationRate rate = gyroData.rotationRate;        NSLog(@"%f, %f, %f", rate.x, rate.y, rate.z);    }];}@end
0 0
原创粉丝点击