`
01jiangwei01
  • 浏览: 543063 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ios 晃动检测代码

    博客分类:
  • IOS
 
阅读更多

重写一个类,继承UIWindow实现代码如下:

#import <UIKit/UIKit.h>

@interface ShakeWindow : UIWindow

@end

 实现类ShakeWindow.m

#import "ShakeWindow.h"

@implementation ShakeWindow

- (id)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {
        // Initialization code
    }
    return self;
}

/*
// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
- (void)drawRect:(CGRect)rect
{
    // Drawing code
}
*/
-(void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event{

    if(motion == UIEventSubtypeMotionShake){
        [[NSNotificationCenter defaultCenter]postNotificationName:@"shake" object:self];
    }
}

@end

 AppDelegate.m类里使用该类

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

 修改代码为:

self.window = [[[ShakeWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];

 ViewController里实行通知

- (void)viewDidLoad
{
    [super viewDidLoad];
    
    [[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(shakeMe) name:@"shake" object:nil];
}

-(void) shakeMe{

    UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"hello" message:@"有晃动" delegate:nil cancelButtonTitle:@"知道了" otherButtonTitles:nil, nil];

    [alert show];

    [alert release];

}

 

 

分享到:
评论

相关推荐

    IOS 典型实例大全源代码下册3

    1. 加速度计:用于检测设备的线性加速度,例如识别设备的移动、晃动或摇摆,常用于游戏、健身应用中跟踪用户的运动轨迹。 2. 陀螺仪:测量设备的旋转速率,帮助确定设备的方向和姿态,常用于增强现实(AR)应用和...

    ios测试PPT教案.pptx

    iOS测试涵盖了多个层面,旨在...总的来说,iOS测试是一个全面的过程,涉及到从代码单元到整体用户体验的各个层面,以确保应用在iOS环境中的质量和性能。测试策略应根据项目需求和团队能力定制,以实现最佳测试效果。

    仿ios springboard

    在仿ios springboard中,这个功能需要通过触摸事件检测和动画效果来实现,让用户可以直观地知道图标处于可操作状态。 4. **排序功能**:用户可以拖动晃动的图标来改变其在桌面上的位置,实现自定义排序。这需要处理...

    苹果ios微信摇一摇代码实现

    首先,我们要了解的是iOS中的运动检测机制。在iOS设备中,加速度计和陀螺仪等传感器用于监测设备的动态变化,包括移动、旋转等动作。在实现“摇一摇”功能时,我们主要利用的就是加速度计的数据。Core Motion框架是...

    iOS-仿微信摇一摇实现.zip

    4. **检测摇动动作**:分析加速度数据,如果在短时间内X轴(左右晃动)的加速度值超过预设阈值,且Y轴(上下晃动)和Z轴(前后晃动)的变化相对较小,就判断为摇一揺动作。 ```swift func handleAcceleration...

    重力感应IOS

    在我们的案例中,主要关注的是加速度计,因为它能检测到设备在三维空间中的加速变化,包括因重力引起的静态加速度。 要利用重力感应功能,开发者需要使用Core Motion框架。这个框架提供了访问运动数据的接口,包括...

    微信小程序iOS下拉白屏晃动问题解决方案

    特别是对于iOS用户,经常会遇到下拉页面时出现白屏晃动的问题,这大大影响了用户体验。 在探讨如何解决微信小程序iOS下拉白屏晃动问题之前,我们先了解微信小程序的一些基础知识。微信小程序由三种文件组成:WXML...

    IOS应用源码——传感器.rar

    2. **加速度计**:加速度计用于检测设备的线性加速度,例如晃动、倾斜或移动。开发者可以利用这个数据实现游戏控制、健身应用或界面旋转等功能。 3. **陀螺仪**:陀螺仪提供设备的旋转率,可用于跟踪设备的精确旋转...

    ios-重力感应.zip

    在iOS开发中,"重力感应"是一种利用设备传感器来检测和响应物理世界中的运动和方向变化的技术。这个"ios-重力感应.zip"压缩包很可能是包含了一个演示项目,展示了如何利用iOS设备的加速度计和陀螺仪来实现小球的动态...

    iOS 6实践指南

    - **TimeDown 应用**:通过构建TimeDown应用,读者将学会如何配置应用的设置选项,播放音频文件,以及实现设备晃动检测等功能。这对于那些需要增强用户体验的应用尤其有用。 #### 七、Core Data与音乐播放 - **...

    iOS 6实践指南(中文文字版).pdf

    #### 六、设置、音频及晃动检测 - **TimeDown 应用案例分析**: - **设置功能**: - 使用 `NSUserDefaults` 保存应用设置。 - 创建设置界面让用户调整应用行为。 - **播放音频**: - 集成 AVFoundation 框架来...

    iOS手机摇晃功能

    iOS设备内置了加速度计和陀螺仪,这些传感器可以检测到设备的运动状态。我们主要利用Core Motion框架来获取这些数据。 1. **引入Core Motion框架** 在Xcode项目中,你需要导入CoreMotion框架,以便能够访问设备的...

    iOS UIAlertController中UITextField添加晃动效果与边框颜色详解

    这段代码定义了一个基本的位移动画,使UITextField在左右轻微移动,形成晃动效果。动画持续时间为0.07秒,重复4次,并自动反向执行,从而产生自然的晃动感觉。最后,将动画添加到UITextField的layer上,完成动画效果...

    物体根据重力感应运动(iPhone源代码)

    来源:Licence:Public Domain平台:iOS设备:iPhone / iPad作者:挺风和日丽的啊 ...记得在真机中运行哦,不要拿着macbook来晃动:) Code4App编译测试,适用环境:Xcode 4.5, iOS 4.0 以上。

    iOS 仿百度外卖-首页重力感应的实例

    今天带来的是仿百度外卖首页的重力感应..(由于只能真机测试,手里测试机只有5s,所以有些地方并没有适配其他机型,需要的还需要根据真机自行适配) 来简单说下实现吧,之前重力感应都是用UIAccelerometer实现的,但是,...

    cordova-compass-shaking-example:科尔多瓦指南针航向和晃动检测示例

    本项目是“cordova-compass-shaking-example”,它是一个基于Cordova的移动应用示例,主要展示了如何使用指南针传感器以及晃动检测功能。Cordova是一个流行的开源框架,用于构建原生移动应用程序,利用HTML、CSS和...

    IOS 陀螺仪开发(CoreMotion框架)实例详解

    加速度计主要用于检测设备的线性加速度,例如设备的移动、晃动或者摇一摇操作。在iOS 4之后,推荐使用`CoreMotion`而非`UIAccelerometer`类来获取加速度数据。`UIDevice`类也提供了设备方向的简单检测,例如: ```...

    手机摇一摇DEMO代码,实现摇一摇执行特定程序.rar

    本资源提供的"手机摇一摇DEMO代码,实现摇一摇执行特定程序.rar"是一个示例项目,旨在帮助开发者了解如何在Android或iOS平台上实现这一功能。下面我们将详细探讨这一技术。 首先,我们来看看Android平台上的实现。...

    react-native 的原生传感器访问_Java_代码_相关文件_下载

    通过这个传感器,应用可以检测用户的晃动、设备的方向改变等动作,常用于游戏和健康追踪应用。 2. **陀螺仪**: 陀螺仪测量设备围绕三个轴的旋转速率。它对于实现精确的设备方向跟踪,比如在虚拟现实或增强现实应用...

Global site tag (gtag.js) - Google Analytics