第一种
1、在AppDelegate.h中进行如下设置:
- - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
- {
- application.applicationSupportsShakeToEdit = YES;
- }
2、在你需要对晃动事件进行处理的ViewController中添加如下代码:
- -(BOOL)canBecomeFirstResponder {
- return YES;
- }
-
- -(void)viewDidAppear:(BOOL)animated {
- [super viewDidAppear:animated];
- [self becomeFirstResponder];
- }
-
- - (void)viewWillDisappear:(BOOL)animated {
- [self resignFirstResponder];
- [super viewWillDisappear:animated];
- }
-
- - (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event
- {
- if (motion == UIEventSubtypeMotionShake) {
- NSLog(@"检测到晃动");
- }