用重力感应判断屏幕方向

就是用CMMotionManager啦

#import  <CoreMotion/CoreMotion.h>

[self.motionManager startAccelerometerUpdatesToQueue:[NSOperationQueue currentQueue] withHandler:^(CMAccelerometerData * _Nullable accelerometerData, NSError * _Nullable error) {

            if (accelerometerData.acceleration.x >= 0.75) {//home button left

                _orientationNew = UIDeviceOrientationLandscapeLeft;

            }

            else if (accelerometerData.acceleration.x <= -0.75) {//home button right

                _orientationNew = UIDeviceOrientationLandscapeRight;

            }

            else if (accelerometerData.acceleration.y <= -0.75) {

                _orientationNew = UIDeviceOrientationPortrait;

            }

            else if (accelerometerData.acceleration.y >= 0.75) {

                _orientationNew = UIDeviceOrientationPortraitUpsideDown;

            }

            else {

                return;

            }

        }];

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容