iOS 检测摇动,最常见的就是微信摇一摇,查找附近的人。
新建一个CWindow类继承UIWindow,重写-(void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event方法。
.h文件代码:
#import <UIKit/UIKit.h>
@interface CWindow : UIWindow
@end
.m文件代码:
//
// CWindow.m
// Contact
//
// Created by Carl on 13-7-3.
// Copyright (c) 2013年 contact..com. All rights reserved.
//
#import "CWindow.h"
#import "CConstants.h"
@implementation CWindow
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
// Initialization code
}
return self;
}
//检测摇动
-(void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event
{
if(event.type == UIEventSubtypeMotionShake)
{
CCLog(@"Motion shake.");
[[NSNotificationCenter defaultCenter] postNotificationName:APP_SHAKE_NOTIFICATION object:nil];
}
}
/*
// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
- (void)drawRect:(CGRect)rect
{
// Drawing code
}
*/
@end