- 在 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
- }
- }
来源: http://www.phpxs.com/code/1004273/