xcode ios 6 shake motion calls IBaction from previous view
ios4, ios6, iphone, motion-detection, xcode
Solution
Sounds like you have to unsubscribe your `VPViewController` from receiving the shake event notifications in its `viewWillDisappear:` function.
Generally, if you want your viewController to receive certain event notifications only when visible you should subscribe to the notification in the `viewWillAppear:` function and unsubscribe in the `viewWillDisappear:` function.
Problem
I'm a bit new to app development. In a viewController ( VPviewController ) i have the following code: ``` - (void) motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event{ if (motion == UIEventSubtypeMotionShake){ [self startGame:nil]; } } ``` In a different viewController ( VPgameViewController ) i have a different MotionShake event: ``` - (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event{ if(event.subtype == UIEventSubtypeMotionShake){ if(count < 3 ){ [self changeText:nil]; AudioServicesPlaySystemSound(1016); count++; }else{ count = 0; AudioServicesPlaySystemSound(1024); UIStoryboard *storyboard = self.storyboard; VPpoepViewController *shit = [storyboard instantiateViewControllerWithIdentifier:@"PoepViewController"]; shit.modalTransitionStyle = UIModalTransitionStyleCrossDissolve; [self presentViewController:shit animated:YES completion:nil]; } } } ``` When i'm in the VPgameView and i shake the Iphone it's also calling the startGame function which is in a different viewController shake event. How can i stop this?