重写一个类,继承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];
}
相关推荐
1. 加速度计:用于检测设备的线性加速度,例如识别设备的移动、晃动或摇摆,常用于游戏、健身应用中跟踪用户的运动轨迹。 2. 陀螺仪:测量设备的旋转速率,帮助确定设备的方向和姿态,常用于增强现实(AR)应用和...
iOS测试涵盖了多个层面,旨在...总的来说,iOS测试是一个全面的过程,涉及到从代码单元到整体用户体验的各个层面,以确保应用在iOS环境中的质量和性能。测试策略应根据项目需求和团队能力定制,以实现最佳测试效果。
首先,我们要了解的是iOS中的运动检测机制。在iOS设备中,加速度计和陀螺仪等传感器用于监测设备的动态变化,包括移动、旋转等动作。在实现“摇一摇”功能时,我们主要利用的就是加速度计的数据。Core Motion框架是...
4. **检测摇动动作**:分析加速度数据,如果在短时间内X轴(左右晃动)的加速度值超过预设阈值,且Y轴(上下晃动)和Z轴(前后晃动)的变化相对较小,就判断为摇一揺动作。 ```swift func handleAcceleration...
在我们的案例中,主要关注的是加速度计,因为它能检测到设备在三维空间中的加速变化,包括因重力引起的静态加速度。 要利用重力感应功能,开发者需要使用Core Motion框架。这个框架提供了访问运动数据的接口,包括...
在仿ios springboard中,这个功能需要通过触摸事件检测和动画效果来实现,让用户可以直观地知道图标处于可操作状态。 4. **排序功能**:用户可以拖动晃动的图标来改变其在桌面上的位置,实现自定义排序。这需要处理...
特别是对于iOS用户,经常会遇到下拉页面时出现白屏晃动的问题,这大大影响了用户体验。 在探讨如何解决微信小程序iOS下拉白屏晃动问题之前,我们先了解微信小程序的一些基础知识。微信小程序由三种文件组成:WXML...
2. **加速度计**:加速度计用于检测设备的线性加速度,例如晃动、倾斜或移动。开发者可以利用这个数据实现游戏控制、健身应用或界面旋转等功能。 3. **陀螺仪**:陀螺仪提供设备的旋转率,可用于跟踪设备的精确旋转...
在iOS开发中,"重力感应"是一种利用设备传感器来检测和响应物理世界中的运动和方向变化的技术。这个"ios-重力感应.zip"压缩包很可能是包含了一个演示项目,展示了如何利用iOS设备的加速度计和陀螺仪来实现小球的动态...
- **TimeDown 应用**:通过构建TimeDown应用,读者将学会如何配置应用的设置选项,播放音频文件,以及实现设备晃动检测等功能。这对于那些需要增强用户体验的应用尤其有用。 #### 七、Core Data与音乐播放 - **...
#### 六、设置、音频及晃动检测 - **TimeDown 应用案例分析**: - **设置功能**: - 使用 `NSUserDefaults` 保存应用设置。 - 创建设置界面让用户调整应用行为。 - **播放音频**: - 集成 AVFoundation 框架来...
iOS设备内置了加速度计和陀螺仪,这些传感器可以检测到设备的运动状态。我们主要利用Core Motion框架来获取这些数据。 1. **引入Core Motion框架** 在Xcode项目中,你需要导入CoreMotion框架,以便能够访问设备的...
这段代码定义了一个基本的位移动画,使UITextField在左右轻微移动,形成晃动效果。动画持续时间为0.07秒,重复4次,并自动反向执行,从而产生自然的晃动感觉。最后,将动画添加到UITextField的layer上,完成动画效果...
来源:Licence:Public Domain平台:iOS设备:iPhone / iPad作者:挺风和日丽的啊 ...记得在真机中运行哦,不要拿着macbook来晃动:) Code4App编译测试,适用环境:Xcode 4.5, iOS 4.0 以上。
今天带来的是仿百度外卖首页的重力感应..(由于只能真机测试,手里测试机只有5s,所以有些地方并没有适配其他机型,需要的还需要根据真机自行适配) 来简单说下实现吧,之前重力感应都是用UIAccelerometer实现的,但是,...
本项目是“cordova-compass-shaking-example”,它是一个基于Cordova的移动应用示例,主要展示了如何使用指南针传感器以及晃动检测功能。Cordova是一个流行的开源框架,用于构建原生移动应用程序,利用HTML、CSS和...
加速度计主要用于检测设备的线性加速度,例如设备的移动、晃动或者摇一摇操作。在iOS 4之后,推荐使用`CoreMotion`而非`UIAccelerometer`类来获取加速度数据。`UIDevice`类也提供了设备方向的简单检测,例如: ```...
本资源提供的"手机摇一摇DEMO代码,实现摇一摇执行特定程序.rar"是一个示例项目,旨在帮助开发者了解如何在Android或iOS平台上实现这一功能。下面我们将详细探讨这一技术。 首先,我们来看看Android平台上的实现。...
通过这个传感器,应用可以检测用户的晃动、设备的方向改变等动作,常用于游戏和健康追踪应用。 2. **陀螺仪**: 陀螺仪测量设备围绕三个轴的旋转速率。它对于实现精确的设备方向跟踪,比如在虚拟现实或增强现实应用...