最近项目中需求A页面需要禁用系统右滑返回手势,然手到下一级页面需要使用系统右滑返回手势,再回到A页面时还禁用系统右滑返回手势
话不多说直接上代码
A页面:
-(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;
};
}
一定要注意生命周期方法 一个是viewDidAppear 另一个是viewWillDisappear
之前我在viewWillAppear里尝试,已失败告终,希望有相同需求的朋友们注意啦。