在viewWillAppear函数中禁止左滑,viewWillDisappear开启左滑动产生进入下一个页面来回滑动造成无法点击点击按钮问题。
- (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; // 开启返回手势 if ([self.navigationController respondsToSelector:@selector(interactivePopGestureRecognizer)]) { self.navigationController.interactivePopGestureRecognizer.enabled = NO; } self.navigationController.navigationBarHidden = YES; // if(self.isRedirectLoginFlag) // { // self.loginView.redirectUrl = self.redirectUrl; // FLDDLogVerbose(@"redirectUrl:%@, self.isRedirectLoginFlag:%d", self.redirectUrl, self.isRedirectLoginFlag); // self.isRedirectLoginFlag = NO; // } } - (void)viewWillDisappear:(BOOL)animated { [super viewWillDisappear:animated]; // 开启返回手势 if ([self.navigationController respondsToSelector:@selector(interactivePopGestureRecognizer)]) { self.navigationController.interactivePopGestureRecognizer.enabled = YES; } }
解决方案:
在viewDidAppear添加禁止左滑动。
- (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; // // 开启返回手势 // if ([self.navigationController respondsToSelector:@selector(interactivePopGestureRecognizer)]) { // self.navigationController.interactivePopGestureRecognizer.enabled = NO; // } // self.navigationController.navigationBarHidden = YES; // if(self.isRedirectLoginFlag) // { // self.loginView.redirectUrl = self.redirectUrl; // FLDDLogVerbose(@"redirectUrl:%@, self.isRedirectLoginFlag:%d", self.redirectUrl, self.isRedirectLoginFlag); // self.isRedirectLoginFlag = NO; // } } - (void)viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; // 开启返回手势 if ([self.navigationController respondsToSelector:@selector(interactivePopGestureRecognizer)]) { self.navigationController.interactivePopGestureRecognizer.enabled = NO; } } - (void)viewWillDisappear:(BOOL)animated { [super viewWillDisappear:animated]; // 开启返回手势 if ([self.navigationController respondsToSelector:@selector(interactivePopGestureRecognizer)]) { self.navigationController.interactivePopGestureRecognizer.enabled = YES; } }