JMS
JMS

Reputation: 281

SWRevealViewController stop tap gesture when user is in frontView

I am using SWRevealViewController for sliding menu. I have added tap gesture in the front view using:

SWRevealViewController *revealController = [self revealViewController];

[revealController tapGestureRecognizer];

My tap gesture is working. But problem is that my front view has button which require the taps to navigate to other screens. IS there any way to disable the tap gesture when frontView is enabled and enable tap Gesture when menu is pressed?

Upvotes: 1

Views: 331

Answers (3)

Shrikant Tanwade
Shrikant Tanwade

Reputation: 1441

In Front view controller add this

SWRevealViewController *objRevealViewController = [self revealViewController];
[self.view addGestureRecognizer:objRevealViewController.tapGestureRecognizer];

Upvotes: 0

Rohit Khandelwal
Rohit Khandelwal

Reputation: 1778

Import SWRevealViewController.h in your slide out menu class. Then in your sliding menu viewWillAppear method put this line-

-(void) viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:YES];

   self.revealViewController.frontViewController.revealViewController.tapGestureRecognizer.enabled=false;

}

and in viewWillDisappear method put this line-

-(void) viewWillDisappear:(BOOL)animated
{

self.revealViewController.frontViewController.revealViewController.tapGestureRecognizer.enabled=true;

}

Upvotes: 0

Anbu.Karthik
Anbu.Karthik

Reputation: 82759

I think you tried this

create the delegate on your class

@interface xxxViewController () <SWRevealViewControllerDelegate>

on delegate method as

  - (void)revealController:(SWRevealViewController *)revealController willMoveToPosition:(FrontViewPosition)position
{
    if (position == FrontViewPositionLeftSide) {
        self.tapGestureRecognizer.enabled = YES;
        // disable your current class action

    }
    else if (position == FrontViewPositionLeft){
        self.tapGestureRecognizer.enabled = NO;
        // enable your current class action


    }
}

Upvotes: 2

Related Questions