CMDeviceMotion使用
CMDeviceMotion使用
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);
}];
}];
版权声明:本文博客原创文章。博客,未经同意,不得转载。
CMDeviceMotion使用的更多相关文章
- iOS陀螺仪 参数意义
self.mManager = [[CMMotionManager alloc]init]; self.mManager.deviceMotionUpdateInterval = 0.5; if (s ...
- iOS平台使用陀螺仪传感器
在移动端开发过程中,有时候会用到陀螺仪传感器获取当前手机的姿态,下面给出iOS端如何获取陀螺仪姿态数据的代码: //根据陀螺仪的四元数转换为矩阵 + (GLKMatrix4)calculateMatr ...
- iOS CoreMotion框架(传感器)
我们知道iOS的应用真的太多了,很多应用让我们惊叹不已!!!很多意想不到的应用! 比如: 1.电子罗盘指南针之类的应用-让我们知道方向. 2.运动类型软件-让我们知道我们跑步多少公里. 3.社交软件中 ...
- Core Motion传感器原始数据
1.访问原始的Motion数据 #import <UIKit/UIKit.h> #import <CoreMotion/CoreMotion.h> @interface Vie ...
- IOS 特定于设备的开发:获取和使用设备姿势(通过手机方向控制3d物体显示)
利用设备的机载陀螺仪可以实现,当你旋转手机屏幕时,里面的画面不会随着视图更新而移动,以平衡物理运动. 下面例子利用少量简单的几何变换执行该操作.他建立一个运动管理器,订阅设备运动更新,然后基于运动管理 ...
- IOS开发小功能2:二维码扫描界面的设计(横线上下移动)
效果图如上,实现的是一个二维码扫描界面. 下面我贴出线条上下移动的代码,至于二维码的代码是用的第三方库. 首先是整体的结构: 注意下面的库文件一个都不能少,否则会报错. TLTiltHighlight ...
- ios 检测屏幕方向
方法一:通知中心监听 name: // UIDeviceOrientationDidChangeNotification 允许方向改变的情况下,监听设备方向,与电池条无关 // UIApplica ...
- OpenGL: Rotation vector sensor of Android and Device motion of iOS
为了实现一个全景图片展示的功能,需要借助手机的姿态传感器,实现一个这样的功能:当手机旋转时,视角也跟着旋转(读者若理解不能,可以参考下现在流行的 VR 应用,使用陀螺仪模式时的效果,亦可称作" ...
- iOS学习新知识-加速计和陀螺仪
一.CoreMotion框架介绍 我们知道有一些iOS的应用,会有一些特殊的要求,比如: 电子罗盘指南针之类的应用:让我们知道方向. 运动类型软件:让我们知道我们跑步多少公里. 社交软件中的摇一摇功能 ...
随机推荐
- Pencil OJ 02 安装
Mongo 官方的安装方法 官方教程已经很好啦,这里就不罗嗦了. 源码编译 待补.我是从这里看到的. 遇到的问题 启动时的警告信息 2015-03-06T21:01:15.526-0800 I CON ...
- uva 10271 Chopsticks(dp)
题目连接:10271 - Chopsticks 题目大意:给出m和n, 然后给出n根筷子从小到大给出, 现在要从这n根筷子中选出m + 8组筷子, 每组筷子包括三根, 现在要求所有m + 8组每组筷子 ...
- lua序列化table表到文件中
先上代码 function luautil.serialize(t, sort_parent, sort_child) local mark={} local assign={} local func ...
- SDUTOJ 2128 树结构练习——排序二叉树的中序遍历
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvUl9NaXNheWE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA ...
- GCD其他实用场景
GCD线程间通信 dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0); ...
- Android项目使用Assets下的文件
Android项目在编译时,Assets下文件不被编译. Assets下的文件除了 html文件可以直接在项目中使用外,其他的文件都需要做处理滴. 在项目中使用方法: 使用流读取. ...
- Python 第七篇:异步IO\数据库\队列\缓存
Gevent协程 Select\Poll\Epoll异步IO与事件驱动 Python连接Mysql数据库操作 RabbitMQ队列 Redis\Memcached缓存 Paramiko SSH Tws ...
- 获取客户端IPAsp.Net
#region 获取客户端IP地址 /// <summary> /// 获取客户端IP地址 /// </summary> /// <returns></ret ...
- JVM调优总结(四)-垃圾回收面临的问题
如何区分垃圾 上面说到的“引用计数”法,通过统计控制生成对象和删除对象时的引用数来判断.垃圾回收程序收集计数为0的对象即可.但是这种方法无法解决循环引用.所以,后来实现的垃圾判断算法中,都是从程序运行 ...
- js open() 与showModalDialog()方法
此方法可通用,项目开发中经常要用到: //w:宽,h:高,url:地址,tag:标记 function showWin(w, h, url, tag) { var t = (screen.height ...