微信的摇一摇是怎么实现的~发现原来 ios本身就支持
在 UIResponder中存在这么一套方法- (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_3_0);- (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_3_0);- (void)motionCancelled:(UIEventSubtype)motion withEvent:(UIEvent *)event __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_3_0);这就是执行摇一摇的方法。那么怎么用这些方法呢?很简单,你只需要让这个Controller本身支持摇动同时让他成为第一相应者:- (void)viewDidLoad{ [superviewDidLoad];// Do any additional setup after loading the view, typically from a nib. [[UIApplicationsharedApplication] setApplicationSupportsShakeToEdit:YES]; [selfbecomeFirstResponder];} 然后去实现那几个方法就可以了- (void) motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event{ //检测到摇动} - (void) motionCancelled:(UIEventSubtype)motion withEvent:(UIEvent *)event{ //摇动取消} - (void) motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event{ //摇动结束 if (event.subtype == UIEventSubtypeMotionShake) { //something happens }}