本文主要是介绍iOS开发笔记之摇动手势,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.当设备摇动时,系统会算出加速计的值,并告知是否发生了摇动手势。系统只会运动开始和结束时通知你,并不会在运动发生的整个过程中始终向你报告每一次运动。例如,你快速摇动设备三次,那只会收到一个摇动事件。
2,想要实现摇动手势,首先需要使视图控制器成为第一响应者,注意不是单独的控件。成为第一响应者最恰当的时机是在视图出现的时候,而在视图消失的时候释放第一响应者。
-(BOOL)canBecomeFirstResponder
{return YES;
}-(void)viewDidAppear:(BOOL)animated
{[super viewDidAppear:animated];[self becomeFirstResponder];
}-(void)viewWillDisappear:(BOOL)animated
{[self resignFirstResponder];[super viewWillDisappear:animated];
}
现在,视图控制器准备处理运动事件,其中有三个方法,motionBegan,motionEnded和motionCancelled,这些与触摸方法有着相似的工作原理,但没有移动方法。
- (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event
{if (event.type == UIEventSubtypeMotionShake){NSLog(@"Shake Began");}
}-(void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event
{if (event.type == UIEventSubtypeMotionShake){NSLog(@"Shake End");}
}-(void)motionCancelled:(UIEventSubtype)motion withEvent:(UIEvent *)event
{if (event.type == UIEventSubtypeMotionShake){NSLog(@"Shake Cancelled");}
}
转载请注明原著: http://blog.csdn.net/marvindev
下一篇翻译一篇文章:让我们构造UITableView
这篇关于iOS开发笔记之摇动手势的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!