SWRevealViewController, как удалить жест смахивания

Я использую хороший элемент управления SWRevealViewController, но с некоторыми изменениями я хочу отслеживать свои собственные жесты смахивания на моем экране. Итак, как я могу отключить параметры смахивания? Я хочу, чтобы работал только revealToggle метод, прикрепленный к моей кнопке. Кто-то сталкивался с этим? Спасибо


person Matrosov Alexander    schedule 02.03.2014    source источник


Ответы (4)


Чтобы отключить жест смахивания, вы можете просто сделать:

self.revealViewController.panGestureRecognizer.enabled=NO;

Например:

-(void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
    self.revealViewController.panGestureRecognizer.enabled=NO;
}

-(void)viewWillDisappear:(BOOL)animated {
    [super viewWillDisappear:animated];
    self.revealViewController.panGestureRecognizer.enabled=YES;
}
person matteolel    schedule 04.08.2014
comment
self.revealViewController().panGestureRecognizer().isEnabled=false, у меня работало в Swift 4.2 - person Ravi; 04.10.2018

В вашем методе viewDidLoad введите приведенный ниже код, где вы не хотите включать жест смахивания:

SWRevealViewController *reveal = self.revealViewController;
reveal.panGestureRecognizer.enabled = NO;
person Hiren    schedule 08.08.2014

Я нашел этот метод:

for (UIGestureRecognizer *recognizer in self.view.gestureRecognizers) {
    [self removeGestureRecognizer:tap];
}
person Matrosov Alexander    schedule 11.03.2014
comment
Где хотите добавить эту строку? - person B.Saravana Kumar; 08.08.2017

Чтобы остановить прокрутку в SWRevealViewController:

В Свифт 3.0

self.revealViewController().panGestureRecognizer().isEnabled = false
person Ramakrishna    schedule 07.04.2017