当前位置: 首页 > news >正文

外包加工网官网下载南昌seo快速排名

外包加工网官网下载,南昌seo快速排名,网站开发会议议程范文,哪些网站可以免费做推广呢iOS开发-CMMotionManager传感器陀螺仪 之前开发中遇到需要使用陀螺仪判断是否拍照时候水平判断,如果没有水平拍照,则给出提示。方便用户拍照合适的题目图片。 一、CMMotionManager CMMotionManager是什么 CMMotionManager 是 Core Motion 库的核心类&…

iOS开发-CMMotionManager传感器陀螺仪

之前开发中遇到需要使用陀螺仪判断是否拍照时候水平判断,如果没有水平拍照,则给出提示。方便用户拍照合适的题目图片。

一、CMMotionManager

CMMotionManager是什么
CMMotionManager 是 Core Motion 库的核心类,负责获取和处理手机的运动信息,它可以获取的数据有

  • 陀螺仪,标识设备在三个主轴上的瞬时旋转
  • 加速度,标识设备在三维空间中的瞬时加速度
  • 磁场信息,标识设备相对于地球磁场的方位

设备运动数据,标识关键的运动相关属性,包括设备用户引起的加速度、姿态、旋转速率、相对于校准磁场的方位以及相对于重力的方位等,这些数据均来自于 Core Motion 的传感器融合算法,从这一个数据接口即可获取以上三种数据,因此使用较为广泛

二、CMMotionManager陀螺仪代码

陀螺仪判断是否拍照时候水平判断
代码如下

#import <Foundation/Foundation.h>
#import <CoreMotion/CoreMotion.h>@interface SDSensorManager : NSObject@property (nonatomic, copy) void (^updateDeviceMotionBlock)(CMDeviceMotion *data);+ (instancetype)shareInstance;- (void)startGyroscope;- (void)stopGyroscope;@end
#import "SDSensorManager.h"static SDSensorManager *shareInstance = nil;@interface SDSensorManager ()@property (nonatomic, strong) CMMotionManager *motionManager;@end@implementation SDSensorManager+ (instancetype)shareInstance {static dispatch_once_t onceToken;dispatch_once(&onceToken, ^{shareInstance = [[SDSensorManager alloc] init];shareInstance.motionManager = [[CMMotionManager alloc]init];});return shareInstance;
}- (void)startGyroscope {if (_motionManager.deviceMotionAvailable) {_motionManager.deviceMotionUpdateInterval = 1/30;__weak typeof(self)mySelf = self;[_motionManager startDeviceMotionUpdatesToQueue:[NSOperationQueue mainQueue]withHandler:^(CMDeviceMotion *data, NSError *error) {if (mySelf.updateDeviceMotionBlock) {mySelf.updateDeviceMotionBlock(data);}}];}
}- (void)stopGyroscope {[_motionManager stopDeviceMotionUpdates];self.updateDeviceMotionBlock = nil;
}@end

开启判断陀螺仪,根据设备的水平旋转判断是否给出相应的提示。

/**启动陀螺仪*/
- (void)startSenorManager {__weak typeof(self) weakSelf = self;[SDSensorManager shareInstance].updateDeviceMotionBlock = ^(CMDeviceMotion *data){DebugLog(@"gravity.x == %f", data.gravity.x);DebugLog(@"gravity.y == %f", data.gravity.y);CGFloat gravityX = data.gravity.x;CGFloat gravityY = data.gravity.y;BOOL hXShow = NO;BOOL hYShow = NO;if (gravityX > 0.20 || gravityX < -0.20) {// 水平倾斜了hXShow = YES;}if (gravityY > 0.20 || gravityY < -0.20) {// 竖直倾斜了hYShow = YES;}BOOL showCampass = NO;if (hXShow || hYShow) {// 水平倾斜了,可显示CampassImageViewif (weakSelf.showExampleImage || weakSelf.showFrontImageView.image) {// 已经显示了example图片了,则不显示showCampass = NO;} else {showCampass = YES;}}weakSelf.compassImageView.hidden = !showCampass;};[[SDSensorManager shareInstance] startGyroscope];
}

关闭陀螺仪,在不需要使用的时候,关闭陀螺仪。

/**关闭陀螺仪*/
- (void)stopSenorManager {[[SDSensorManager shareInstance] stopGyroscope];
}

三、小结

iOS开发-CMMotionManager传感器陀螺仪,使用CMMotionManager判断陀螺仪、加速度、磁场信息等数据。

学习记录,每天不停进步。

http://www.hkea.cn/news/64546/

相关文章:

  • 网站建设需要的资料深圳精准网络营销推广
  • 客户网站建设公司网站排名提升软件
  • 网站建设与维护试卷论文怎么在百度上做广告
  • 做博客网站要什么技术百度网站网址是多少
  • 河北建设厅官方网站八大员考试站长工具查询
  • 大连 做网站公司爱站工具包的主要功能
  • ps做简洁大气网站必应bing国内版
  • 做公司标志用哪个网站营销自动化
  • wordpress5.0.3厦门百度seo
  • 网站开发 企业 定制系统优化大师安卓版
  • 网站内链符号seo百度站长工具
  • 网站页面太多是否做静态seo优化软件
  • mac下怎么安装wordpress关键词排名优化易下拉霸屏
  • 国内做国外代购在哪个网站好百度平台客服怎么联系
  • 菏泽网站获客网站建设公司中国站长网入口
  • 黄冈网站建设推荐seo查询排名软件
  • 自己怎么做百度网站广州seo网站公司
  • 京东企业的电子网站建设百度seo教程网
  • 弥勒网站设计公司share群组链接分享
  • 网站建设栏目管理百度推广搜索排名
  • 企业管理类的网站全球搜是什么公司
  • 网站开发自我介绍seo报告
  • 网站应用软件设计海口seo网络公司
  • 武汉站建设深圳网站开发制作
  • 网站建设的平台分析北京seo技术
  • 手表价格网站百度推广天津总代理
  • 如何将域名和网站绑定排名seo怎么样
  • 旅游网站推广方案色盲测试图
  • 现在开发个网站多少钱安全优化大师
  • 网站开发工程师工资多少百度统计工具