I am using good control SWRevealViewController
, but by some redone I want to track my own swipe gestures on my screen. So how can I switch off swipe options? I want to work only revealToggle
method that attached to my button. Did someone faced with this? Thank you
Asked
Active
Viewed 6,652 times
10

Matrosov Oleksandr
- 25,505
- 44
- 151
- 277
4 Answers
17
In order to disable the swipe gesture you can simple do:
self.revealViewController.panGestureRecognizer.enabled=NO;
For example:
-(void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
self.revealViewController.panGestureRecognizer.enabled=NO;
}
-(void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
self.revealViewController.panGestureRecognizer.enabled=YES;
}

matteolel
- 519
- 4
- 14
-
self.revealViewController().panGestureRecognizer().isEnabled=false, worked for me in Swift 4.2 – Ravi Oct 04 '18 at 05:48
10
In your viewDidLoad method,type the below code where you don't want to enable the swipe gesture:
SWRevealViewController *reveal = self.revealViewController;
reveal.panGestureRecognizer.enabled = NO;

Hiren
- 676
- 7
- 21
1
I found this method:
for (UIGestureRecognizer *recognizer in self.view.gestureRecognizers) {
[self removeGestureRecognizer:tap];
}

Matrosov Oleksandr
- 25,505
- 44
- 151
- 277
1
To stop the swipe in the SWRevealViewController:
In Swift 3.0
self.revealViewController().panGestureRecognizer().isEnabled = false

Ramakrishna
- 712
- 8
- 26