iOS-重力感应

作者: 洲洲哥 | 来源:发表于2016-10-28 13:34 被阅读866次

原文首发地址
iOS-重力感应
话不多说,开始上代码(这里是最新的)

1.导入头文件

#import <CoreMotion/CoreMotion.h> 

2.定义变量

@property (nonatomic, strong) CMMotionManager *motionManager;

3.实例化

-(CMMotionManager *)motionManager {
    if (_motionManager == nil) {
        _motionManager = [[CMMotionManager alloc] init];
    }
    return _motionManager;
}

4:定义停止陀螺仪选装的方法

- (void)stopUpdate
{
    if ([self.motionManager isAccelerometerActive] == YES)
    {
        [self.motionManager stopAccelerometerUpdates];
    }
}

5:在VCdealloc的时候记住

- (void)dealloc
{
    _motionManager = nil;
}

6:开始监听手机屏幕变化

- (void)startUpdateAccelerometerResult{
    if ([self.motionManager isAccelerometerAvailable] == YES) {
        [self.motionManager setAccelerometerUpdateInterval:0.06];
        [self.motionManager startAccelerometerUpdatesToQueue:[NSOperationQueue currentQueue] withHandler:^(CMAccelerometerData *accelerometerData, NSError *error)
         {
             double x = accelerometerData.acceleration.x;
             double y = accelerometerData.acceleration.y;
             if (fabs(y) >= fabs(x))
             {
                 if (y >= 1){
                     //Down
                     NSLog(@"Down");
                 }
                 if(y<= -1){
                     //Portrait
                     NSLog(@"Portrait");
                 }
             }
             else
             {
                 if (x >= 1){
                     //Right
                     NSLog(@"Right");
                     self.btnClick.backgroundColor =[UIColor blueColor];
                     
                 }
                 if(x<= -1){
                     //Left
                     NSLog(@"Left");
                     self.btnClick.backgroundColor =[UIColor yellowColor];
                 }
             }
         }];
    }
}

这里只要把startUpdateAccelerometerResultviewdidload中执行就可以了

于是乎 这里就是最新的检查手机旋转的了。

如有问题可添加我的QQ:1290925041
还可添加QQ群:234812704(洲洲哥学院)
欢迎各位一块学习,提高逼格!
也可以添加洲洲哥的微信公众号

更多消息

更多信iOS开发信息 请以关注洲洲哥 的微信公众号,不定期有干货推送:

这里写图片描述

相关文章

  • iOS-重力感应

    原文首发地址iOS-重力感应话不多说,开始上代码(这里是最新的) 1.导入头文件 2.定义变量 3.实例化 4:定...

  • 重力感应

    重力感应一般是用来做摇一摇的

  • Unity移动设备重力感应(陀螺仪)

    移动设备游戏中经常会遇到重力感应的开发,Unity简化了重力感应的开发,通过访问Input.acceleratio...

  • 开发之随手记

    类数组转换为数组 重力感应事件 注意移动端和PC端的属性不相同,当重力感应事件 onorientationchan...

  • IOS重力感应

    Phone和iPad设备有4个方向的状态,我们可以针对应用当前所处的方向调整界面。 为了使应用支持不同的方向,首先...

  • 重力感应事件

    // 运用HTML5的deviceMotion,调用重力感应事件 if(window.DeviceMotionEv...

  • h5移动端调用系统传感器事件

    移动端实现摇一摇以及重力感应事件

  • iOS 12.2+ 与 iOS 13 h5无法开启重力感应(摇一

    一、问题简介 经测试,苹果手机ios13.3.1系统版本将影响到重力感应类H5的体验,特别是跟重力感应功能相关的效...

  • iOS CoreMotion重力感应

    系统提供CMMotionManager获取感应数据,startDeviceMotionUpdatesToQueue...

  • 重力感应控制方向

    设计目的 重力感应控制方向的设计目的是:利用手机的重力感应器来控制页面上元素的移动方向,进而实现页面上的某种动画效...

网友评论

  • Hero_Guo:兄弟, 你这是加速计, 不是陀螺仪, 陀螺仪是: motionManager.isGyroAvailable

本文标题:iOS-重力感应

本文链接:https://www.haomeiwen.com/subject/geceuttx.html