CMDeviceMotion的使用

CMDeviceMotion的使用

by 伍雪颖

manager = [[CMMotionManager alloc] init];
ViewController *__weak weakSelf=self;
// 1
if(manager.deviceMotionAvailable){
    manager.deviceMotionUpdateInterval=0.01f;
    [manager startDeviceMotionUpdatesToQueue:[NSOperationQueue mainQueue]
         withHandler:^(CMDeviceMotion*data,NSError*error){
             double rotation=atan2(data.gravity.x,data.gravity.y)-M_PI;
             weakSelf.imageView.transform=CGAffineTransformMakeRotation(rotation);
             }];
}
// 2
NSOperationQueue *queue = [[NSOperationQueue alloc] init];[manager startDeviceMotionUpdatesToQueue:queue
   withHandler:^(CMDeviceMotion *data, NSError *error) {

       [[NSOperationQueue mainQueue] addOperationWithBlock:^{
           double rotation=atan2(data.gravity.x,data.gravity.y)-M_PI;
           weakSelf.imageView.transform=CGAffineTransformMakeRotation(rotation);
       }];
   }];
时间: 2024-11-06 03:30:37

CMDeviceMotion的使用的相关文章

第六章:加速计与陀螺仪

iOS系统提供了加速计和陀螺仪支持,如果iOS设备提供了这些硬件支持,iOS即可通过CoreMotion框架提供的加速计来获取设备当前的加速度数据.陀螺仪数据.所处的磁场以及设备的方位等信息: 对于iOS应用开发者来说,开发传感器应用十分简单,CoreMotion框架的核心API是CMMotionManager,开发者只要创建一个CMMotionManager对象,接下来即可采用定时器周期性地从CMMotionManager对象获取加速度数据.陀螺仪数据等,也可采用基于代码块的方式来获取这些数据

框架内的文件集合

Cocoa Touch Layer --AddressBookUI ----ABAddressFormatting.h ----ABNewPersonViewController.h ----ABPeoplePickerNavigationController.h ----ABPersonViewController.h ----ABUnknownPersonViewController.h ----AddressBookUI.h --EventKitUI ----EKEventEditView

iOS CoreMotion框架(传感器)

我们知道iOS的应用真的太多了,很多应用让我们惊叹不已!!!很多意想不到的应用! 比如: 1.电子罗盘指南针之类的应用-让我们知道方向. 2.运动类型软件-让我们知道我们跑步多少公里. 3.社交软件中的摇一摇功能. 4.游戏中扮演角色类中根据设备的晃动等进行操作. 等等..而且还有很多应用正在层出不穷的展现再我们面前. 其实,他们多半是使用了iOS中的一个框架-核心运动框架-CoreMotion.framework CoreMotion.framework框架是做什么的 我们可以使用iOS提供给

屏幕方向该知道的那些事儿

前言 这两天在学关于屏幕旋转的相关的知识,也延伸出了加速器和陀螺仪这些以前没有深入去学习过的知识点,在没有仔细看之前也有一些问题在想,比如:用户关闭了手机的屏幕旋转,但根据我们的使用经验,APP的界面还是可以旋转的,比如那些视屏播放类型的APP,还是可以全屏观看视频的,那这些是怎么做的?还有比如 你整个项目不允许横屏展示的,而某一个控制器却单独要求横屏展示,这个又该怎么做?用户关闭了手机屏幕旋转,我们还能不能判断手机屏幕的方向?带着这些问题我们一个一个的说一下屏幕方向的那些事儿. 从简单的开始

IOS-简单动画

iOS那些简单的动画(不定期更新) 字数669 阅读1118 评论16 喜欢59 关于 Core Animation Core Animation是一组非常强大的动画处理API,使用它能做出很多优雅的动画效果.能用的动画类有4个子类:CABasicAnimation.CAKeyframeAnimation.CATransition.CAAnimationGroup 开发步骤: 初始化一个动画对象(CAAnimation)并设置一些动画相关属性. 添加动画对象到层(CALayer)中,开始执行动画

cmmotionmaneger

http://justsee.iteye.com/blog/1933099 from : http://mobile.51cto.com/iphone-285018.htm iOS4中Core Motion框架使用方法是本文要介绍的内容,主要是来学习IOS4中框架的内容.在iOS4之前,加速度计由UIAccelerometer类来负责采集工作,而电子罗盘则由Core Location接管. 而iPhone4的推出,由于加速度计的升级(有消息说使用的是这款芯片) 和陀螺仪的引入,与motion相关

M7协处理器获取运动数据

NSObject NSObject大多数objective - c类层次结构的根类. CMAltimeter 使用CMAltimeter对象启动altitude-related数据应用程序的交付. CMAttitude CMAttitude类的一个实例代表了测量设备的态度在一个时间点. CMLogItem CMLogItem类是基类的核心运动类,处理特定类型的运动事件. CMAccelerometerData CMAccelerometerData类的一个实例代表一个加速度计的事件. CMAlt

iOS陀螺仪 参数意义

self.mManager = [[CMMotionManager alloc]init]; self.mManager.deviceMotionUpdateInterval = 0.5; if (self.mManager.gyroAvailable) { [self.mManager startDeviceMotionUpdatesToQueue:[NSOperationQueue currentQueue] withHandler:^(CMDeviceMotion * _Nullable

iOS学习笔记34-加速计和陀螺仪

一.CoreMotion框架介绍 我们知道有一些iOS的应用,会有一些特殊的要求,比如: 1. 电子罗盘指南针之类的应用:让我们知道方向. 2. 运动类型软件:让我们知道我们跑步多少公里. 3. 社交软件中的摇一摇功能. 4. 游戏中扮演角色类中根据设备的晃动等进行操作. 其实,他们多半是使用了iOS中的一个核心运动框架CoreMotion.framework 使用iOS提供给我们的CoreMotion框架,主要是为了访问加速度计和陀螺仪的相关数据. 它不仅仅提供给你获得实时的加速度值和旋转速度