传感器- 加速计 - CoreMotion
/**
* CoreMotion
*
*/
#import "ViewController.h"
#import <CoreMotion/CoreMotion.h> // 导入框架
@interface ViewController ()
@property (nonatomic, strong) CMMotionManager *mgr;// 必须搞成全局的
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// [self push];
[self pull];
}
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
CMAcceleration acceleration = self.mgr.accelerometerData.acceleration;
LogRed(@"%f --- %f ---- %f",acceleration.x, acceleration.y, acceleration.z);
}
/**
* pull --- 需要的时候, 采集
*/
- (void)pull
{
// 1. 创建运动管理者对象
self.mgr = [[CMMotionManager alloc] init];
// 2. 判断加速计是否可用
if (self.mgr.isAccelerometerAvailable) {
// 4. 开始采样 --- pull
[self.mgr startAccelerometerUpdates];
}else{
LogGreen(@"加速计不可用");
}
}
/**
* push --- 根据设置的采集时间间隔, 实时采集
*/
- (void)push
{
// 1. 创建运动管理者对象
self.mgr = [[CMMotionManager alloc] init];
// 2. 判断加速计是否可用
if (self.mgr.isAccelerometerAvailable) {
/**
* accelerometerUpdateInterval --- 采样时间
isAccelerometerActive --- 是否正在采集
startAccelerometerUpdates --- pull
startAccelerometerUpdatesToQueue --- push
stopAccelerometerUpdates --- 停止采样
accelerometerData --- 采集到的数据
*/
// 3. 设置采样间隔
self.mgr.accelerometerUpdateInterval = 1.0 / 30.0;
// 4. 开始采样
[self.mgr startAccelerometerUpdatesToQueue:[NSOperationQueue mainQueue] withHandler:^(CMAccelerometerData *accelerometerData, NSError *error) {
// 采集到数据时, 就会调用
if(error) return;
CMAcceleration acceleration = accelerometerData.acceleration;
LogRed(@"%f --- %f ---- %f",acceleration.x, acceleration.y, acceleration.z);
}];
}else{
LogGreen(@"加速计不可用");
}
}
传感器- 加速计 - CoreMotion的更多相关文章
- 加速计 & CoreMotion
CHENYILONG Blog 加速计 & CoreMotion 加速计 & CoreMotion 技术博客http://www.cnblogs.com/ChenYilong/ 新浪微 ...
- Swift - 加速传感器(CoreMotion)的用法,小球加速运动并反弹样例
1,加速传感器可以监听到x,y,z三个方向的加速度,使用步骤如下: (1)实例化CMMotionManager类 (2)向CMMotionManager的accelerometerUpdateInte ...
- iOS开发 传感器(加速计、摇一摇、计步器)
一.传感器 1.什么是传感器传感器是一种感应\检测周围环境的一种装置, 目前已经广泛应用于智能手机上 传感器的作用用于感应\检测设备周边的信息不同类型的传感器, 检测的信息也不一样 iPhone中的下 ...
- iOS开发——高级篇——传感器(加速计、摇一摇、计步器)
一.传感器 1.什么是传感器传感器是一种感应\检测周围环境的一种装置, 目前已经广泛应用于智能手机上 传感器的作用用于感应\检测设备周边的信息不同类型的传感器, 检测的信息也不一样 iPhone中的下 ...
- 推送通知/传感器/UIDynamic仿真(推送通知已适配iOS10)
推送通知/传感器/UIDynamic 一.推送通知 1.推送通知简介 什么是推送通知 此处的推送通知与NSNotification没有任何关系 可以理解为,向用户推送一条信息来通知用户某件事情 作用: ...
- iOS 传感器集锦
https://www.jianshu.com/p/5fc26af852b6 传感器集锦:指纹识别.运动传感器.加速计.环境光感.距离传感器.磁力计.陀螺仪 效果预览.gif 一.指纹识别 应用: ...
- iOS---开发实用传感器
传感器 1.什么是传感器 传感器是一种感应\检测装置, 目前已经广泛应用于智能手机上 2.传感器的作用 用于感应\检测设备周边的信息 不同类型的传感器, 检测的信息也不一样 iPhone中的下面现象都 ...
- iphone传感器
传感器 什么是传感器 传感器是一种感应\检测装置, 目前已经广泛应用于智能手机上 传感器的作用 用于感应\检测设备周边的信息 不同类型的传感器, 检测的信息也不一样 iPhone中的下面现象都是由传感 ...
- IOS UIDevice距离传感器(打开 关闭)
● 什么是传感器 ● 传感器是一种感应\检测装置, 目前已经广泛应用于智能手机上 ● iPhone5中内置的传感器有 ● 运动传感器\加速度传感器\加速计(Motion/Acceleromet ...
随机推荐
- iOS开发多线程篇---atomic nonatomic区别
摘要 atomic和nonatomic区别用来决定编译器生成的getter和setter是否为原子操 作.atomic提供多线程安全,是描述该变量是否支持多线程的同步访问,如果选择了atomic 那么 ...
- 【点滴积累】通过特性(Attribute)为枚举添加更多的信息
转:http://www.cnblogs.com/IPrograming/archive/2013/05/26/Enum_DescriptionAttribute.html [点滴积累]通过特性(At ...
- 监控mysql索引使用效率的脚本
SELECT t.table_schema AS db, t.table_name AS tab_name, s.index_name AS index_name, s.colum ...
- WPF制作QQ列表(仿qq列表特效)
先看效果图:这个是折叠特效. 代码结构: model是我们的数据模型,定义了在列表显示的人物名称 图片 简介 . Resource是我们的图片资源 和 存储图片资源路径.名称 ...
- java学习粗略路线
首先是JAVA基础JAVA SE(用于开发和部署桌面.服务器以及嵌入设备和实时环境中的Java应用程序.) 之后是JAVA EE(java企业级标准开发),先学习Servlet(控制器).JSP(在h ...
- layer.js子窗口关闭并传数据到父窗的方法
昨晚整了很晚,一直找不到方法.去官网api看了好久,又在网上搜了很久 始终找不到答案.今天自己终于找到了方法. 难点:因为 确认和取消按钮都是在父窗 调用js生成的按钮.只能从父窗回调的时候去去数据并 ...
- JAVA的instanceOf什么时候用啊
当你拿到一个对象的引用时(例如参数),你可能需要判断这个引用真正指向的类.所以你需要从该类继承树的最底层开始, 使用instanceof操作符判断,第一个结果为true的类即为引用真正指向的类. cl ...
- Android colors.xml
<?xml version="1.0" encoding="utf-8"?><resources> <color name=&qu ...
- windows8 8.1 安装完 ubuntu无法挂载 ntfs分区 解决方法
windows8 8.1 安装完 ubuntu无法挂载 ntfs分区 解决方法: 最近安装完发现8.1系统后,ubuntu无法加载以前的ntfs分区了,特别是我添加到了/etc/fstab里面了 导致 ...
- MySQL分区表例子——List分区
列表分区(List分区) 这里假设表中有一个sale_item_type 字段,数据类型为INT 型 当sale_item_type 为1,3,5的时候,作为一个分区 当sale_item_type ...