北京ios开发教程-coremotion框架

北京ios开发教程-coremotion框架

ID:8827675

大小:183.50 KB

页数:5页

时间:2018-04-08

北京ios开发教程-coremotion框架_第1页
北京ios开发教程-coremotion框架_第2页
北京ios开发教程-coremotion框架_第3页
北京ios开发教程-coremotion框架_第4页
北京ios开发教程-coremotion框架_第5页
资源描述:

《北京ios开发教程-coremotion框架》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、http://www.mobiletrain.org/北京iOS开发教程-CoreMotion框架CoreMotion是一个专门处理Motion的框架,其中包含了两个部分加速计和陀螺仪,在iOS4之前加速计是由UIAccelerometer类来负责采集数据,现在一般都是用CoreMotion来处理加速度过程,不过由于UIAccelerometer比较简单,同样有人在使用。加速计由三个坐标轴决定,用户最常见的操作设备的动作移动,晃动手机(摇一摇),倾斜手机都可以被设备检测到,加速计可以检测到线性的变化,陀螺仪可以更好的检测到偏转的动作,可以根据用户的动作做出相应的动作,iO

2、S模拟器无法模拟以上动作,真机调试需要开发者账号。加速计通过感知特定方向的惯性力总量,加速计可以测量出加速度和重力。iOS设备内的加速计是一个三轴加速计,也就是说它能够检测到三维空间中的运动或重量。因此,加速计不但可以指示用户握持设备的方式(如自动旋转功能),而且还可以在设备被放在桌子上时指示其正面朝上还是朝下。如图所示展示了加速计所使用的是三轴结构,需要注意的是,加速计对y坐标使用了更标准的惯例,即y轴伸长表示向上的力。如果加速计将Quartz2D作为控制机制,那么必须要转换y坐标轴。使用OpenGLES时(使用加速计控制动画时通常会用到),则不需要转换。如果只需要知道

3、设备的方向,不需要知道具体方向矢量角度,那么可以使用UIDevice进行操作,还可以根据方向就行判断,具体可以参考一下苹果官网代码:-(void)viewDidLoad{//Requesttoturnonaccelerometerandbeginreceivingaccelerometerevents[[UIDevicecurrentDevice]beginGeneratingDeviceOrientationNotifications];[[NSNotificationCenterdefaultCenter]addObserver:selfselector:@selec

4、tor(orientationChanged:)name:UIDeviceOrientationDidChangeNotificationobject:nil];}-(void)orientationChanged:(NSNotification*)notification{//Respondtochangesindeviceorientation}北京千锋互联科技有限公司版权所有http://www.mobiletrain.org/-(void)viewDidDisappear{//Requesttostopreceivingaccelerometereventsand

5、turnoffaccelerometer[[NSNotificationCenterdefaultCenter]removeObserver:self];[[UIDevicecurrentDevice]endGeneratingDeviceOrientationNotifications];} 当用户晃动设备的时候,系统会通知每一个在用的设备,可以使本身成为第一响应者:-(BOOL)canBecomeFirstResponder{returnYES;}-(void)viewDidAppear:(BOOL)animated{[selfbecomeFirstResponder

6、];}处理Motion事件有三种方式,开始(motionBegan),结束(motionEnded),取消(motionCancelled):-(void)motionBegan:(UIEventSubtype)motionwithEvent:(UIEvent*)eventNS_AVAILABLE_IOS(3_0);-(void)motionEnded:(UIEventSubtype)motionwithEvent:(UIEvent*)eventNS_AVAILABLE_IOS(3_0);-(void)motionCancelled:(UIEventSubtype)mot

7、ionwithEvent:(UIEvent*)eventNS_AVAILABLE_IOS(3_0);motionEnded方法中处理:-(void)motionEnded:(UIEventSubtype)motionwithEvent:(UIEvent*)event{if(motion==UIEventSubtypeMotionShake){//FlyElephanthttp://www.cnblogs.com/xiaofeixiang[[NSNotificationCenterdefaultCenter]postNotifi

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。