佚名通过本文主要向大家介绍了睾丸侧边痒,轻卡侧边工具箱图片,指甲侧边发黑,侧边有漏洞的裤子,轮胎侧边能补吗等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 请问如何禁用当前控制器的侧边右滑pop手势?当前VC是push过来的
描述:
解决方案1:
描述:
如题:我的跟控制器是是个导航控制器,现在有一个A控制器是我push过来的,我希望这个控制器只能点击导航条左边的返回按钮来pop,而侧边右滑动的手势pop我希望能把它禁用掉。当然其他控制器我希望不还是有这个pop的手势。请问我改如何实现呢?
解决方案1:
建设从 A -> B 优雅一点的话
在 B 的 viewDidLoad 里面
self.navigationController.interactivePopGestureRecognizer.delegate = self;
- (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated {
[super pushViewController:viewController animated:animated];
self.interactivePopGestureRecognizer.enabled = NO;
}
然后在 viewDidDisappear 里面
self.navigationController.interactivePopGestureRecognizer.enabled = YES;
都写在 B 里面,是不是优雅了许多
解决方案2:在 A 控制器里写:
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
self.navigationController.interactivePopGestureRecognizer.delegate = self;
}
- (void)viewWillDisappear:(BOOL)animated
{
[super viewWillDisappear:animated];
self.navigationController.interactivePopGestureRecognizer.delegate = nil;
}
// 给该控制器添加协议 <UIGestureRecognizerDelegate>
- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer
{
return gestureRecognizer != self.navigationController.interactivePopGestureRecognizer;
}