本人apem
微信摇一摇
-(BOOL)canBecomeFirstResponder { return YES; } -(void)viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; [self becomeFirstResponder]; } -(void)viewWillDisappear:(BOOL)animated { [self resignFirstResponder]; [super viewWillDisappear:animated]; } #pragma mark - 实现相应的响应者方法 /** 开始摇一摇 */ - (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event { NSLog(@"motionBegan"); CGFloat offset = self.bg.height/2; CGFloat duration = 0.4; [UIView animateWithDuration:duration animations:^{ self.up.y -= offset; self.down.y += offset; }]; [LZAudioTool playMusic:@"dance.mp3"]; } /** 摇一摇结束(需要在这里处理结束后的代码) */ - (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event { // 不是摇一摇运动事件 if (motion != UIEventSubtypeMotionShake) return; NSLog(@"motionEnded"); CGFloat offset = self.bg.height / 2; CGFloat duration = 0.4; [UIView animateWithDuration:duration animations:^{ self.up.y += offset; self.down.y -= offset; }]; } /** 摇一摇取消(被中断,比如突然来电) */ - (void)motionCancelled:(UIEventSubtype)motion withEvent:(UIEvent *)event { NSLog(@"motionCancelled"); }