Prohibit navigationController left swipe gesture

Set in viewDidAppear of viewController that prohibits left sliding:

- (void)viewDidAppear:(BOOL)animated
{

   [super viewDidAppear:animated];

   if ([self.navigationController respondsToSelector:@selector(interactivePopGestureRecognizer)]) 
{

//这里对添加到右滑视图上的所有手势“禁用”

    for (UIGestureRecognizer *popGesture in self.navigationController.interactivePopGestureRecognizer.view.gestureRecognizers)    {

     popGesture.enabled = NO;

  }

}

}

 

If you just want to disable the left swipe gesture on the current page, you also need to set it in viewWillDisappear:

- (void)viewWillDisappear:(BOOL)animated

{

    [super viewWillDisappear:animated];

    if ([self.navigationController respondsToSelector:@selector(interactivePopGestureRecognizer)]) {

        //这里对添加到右滑视图上的所有手势“启用”

        for (UIGestureRecognizer *popGesture in self.navigationController.interactivePopGestureRecognizer.view.gestureRecognizers) {

            popGesture.enabled = YES;

        }

    }

}

Guess you like

Origin blog.csdn.net/wyz670083956/article/details/124275580