首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Iphone >

iphone摇动检测的两种方式

2012-12-21 
iphone晃动检测的两种方式第一种1、在AppDelegate.h中进行如下设置:?- (BOOL)application:(UIApplication *

iphone晃动检测的两种方式

第一种

1、在AppDelegate.h中进行如下设置:

?

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{    application.applicationSupportsShakeToEdit = YES;}

?

2、在你需要对晃动事件进行处理的ViewController中添加如下代码:

?

-(BOOL)canBecomeFirstResponder {    return YES;}-(void)viewDidAppear:(BOOL)animated {    [super viewDidAppear:animated];    [self becomeFirstResponder];}- (void)viewWillDisappear:(BOOL)animated {    [self resignFirstResponder];    [super viewWillDisappear:animated];}- (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event{    if (motion == UIEventSubtypeMotionShake) {        NSLog(@"检测到晃动");    }}

?

3、在模拟器中测试晃动,按组合键:Ctrl + Win + Z

?

?

第二种:利用UIAccelerometer加速器来检测

?

- (void)viewDidLoad{    UIAccelerometer *accelerometer = [UIAccelerometer sharedAccelerometer];    accelerometer.delegate = self;    accelerometer.undateInterval = 1.0f / 60.0f; }- (void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceletration *)acceleration{if(fabsf(acceleration.x)>2.0||fabsf(acceleration.y>2.0)||fabsf(acceleration.z)>2.0)    {        //NSLog(@"检测到晃动");    }}
?

?

?

?

热点排行