Skip to content

Instantly share code, notes, and snippets.

@kenshin03
Created May 10, 2013 00:38
Show Gist options
  • Save kenshin03/5551676 to your computer and use it in GitHub Desktop.
Save kenshin03/5551676 to your computer and use it in GitHub Desktop.
menuGestureRecognizerAction
- (void) menuGestureRecognizerAction:(PSHMenuGestureRecognizer*)recognizer {
if (recognizer.state == UIGestureRecognizerStateBegan){
// began moving
} else if (recognizer.state == UIGestureRecognizerStateChanged){
CGRect launcherButtonImageViewFrame = [self.view convertRect:self.launcherButtonImageView.frame fromView:self.launcherButtonImageView.superview];
CGRect messengerButtonImageViewFrame = [self.view convertRect:self.messengerButtonImageView.frame fromView:self.messengerButtonImageView.superview];
CGRect notificationsButtonImageViewFrame = [self.view convertRect:self.notificationsButtonImageView.frame fromView:self.notificationsButtonImageView.superview];
CGRect menuButtonViewFrame = self.menuButtonView.frame;
menuButtonViewFrame = [self.view convertRect:self.menuButtonView.frame fromView:self.menuButtonView.superview];
if (self.menuExpanded){
BOOL actionsTriggered = YES;
if (CGRectContainsRect(menuButtonViewFrame, launcherButtonImageViewFrame)){
// intersects launcher
[self animateShowLauncher];
} else if (CGRectContainsRect(menuButtonViewFrame, messengerButtonImageViewFrame)){
// intersects messenger
[self animateShowMessenger];
} else if (CGRectContainsRect(menuButtonViewFrame, notificationsButtonImageViewFrame)){
// intersects notification
[self animateShowNotifications];
}else{
actionsTriggered = NO;
}
if (actionsTriggered){
[self animateHideMenuButtons];
recognizer.enabled = NO;
recognizer.enabled = YES;
}
}
}else if (recognizer.state == UIGestureRecognizerStateEnded){
NSLog(@"UIGestureRecognizerStateEnded");
[self animateHideMenuButtons];
} else if (recognizer.state == UIGestureRecognizerStateFailed){
NSLog(@"UIGestureRecognizerStateFailed");
[self animateHideMenuButtons];
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment