iOS 实现 摇一摇

摇一摇功能:调用了系统自带加速器,当设备摇动时,系统会 计算出加速器的加速值,然后告诉设备是否发生摇动手势,系统只会运动开始和结束时通知你,并不会在运动发生的整个过程中始终向你报告每一次运动。例如,你快速摇动设备三次,那只会收到一个摇动事件。

想要实现摇动手势,首先需要使视图控制器成为第一响应者,注意不是单独的控件。成为第一响应者最恰当的时机是在视图出现的时候,而在视图消失的时候释放第一响应者。

 1 -(BOOL)canBecomeFirstResponder
 2 {
 3     return YES;
 4 }
 5 
 6 -(void)viewDidAppear:(BOOL)animated
 7 {
 8     [super viewDidAppear:animated];
 9     [self becomeFirstResponder];
10 }
11 
12 -(void)viewDidDisappear:(BOOL)animated
13 {
14     [super viewDidDisappear:animated];
15     [self resignFirstResponder];
16 }

然后实现motionEnded方法,因为是手机移动结束的时候会调用 这个方法

1 -(void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event
2 {
3     if (motion == UIEventSubtypeMotionShake) {
4         NSLog(@"I am shaker");
5     }
6 }

 

posted @ 2015-11-18 14:38  ReBack2010  阅读(230)  评论(0编辑  收藏  举报