iOS 开发 监听侧滑返回的系统方法

//开启侧滑

  • (void)willMoveToParentViewController:(UIViewController*)parent
    {
    [super willMoveToParentViewController:parent];
    if (!parent) {
    }
    }
  • (void)didMoveToParentViewController:(UIViewController*)parent
    {
    [super didMoveToParentViewController:parent];
    if(!parent){
    NSLog(@"离开了");
    }
    }

1.第一次push进来的时候两个方法都会调用,parent的值不为空。
2.当开始使用系统侧滑的时候,会先调用willMove,而parent的值为空;
3.当滑动结束后返回了上个页面,则会调用didMove,parent的值也为空,如果滑动结束没有返回上个页面,也就是轻轻划了一下还在当前页面,那么则不会调用didMove方法。
当然,直接点击返回按钮,这两个方法也会调用。可以判断parent的值是否为空,进行具体的操作。

//开启侧滑

  • (void)viewWillDisappear:(BOOL)animated {
    self.navigationController.interactivePopGestureRecognizer.enabled = YES;
    }

//关闭侧滑
-(void)viewDidAppear:(BOOL)animated{
[super viewDidAppear:YES];

if ([self.navigationController respondsToSelector:@selector(interactivePopGestureRecognizer)]) {
    self.navigationController.interactivePopGestureRecognizer.enabled = NO;
}

}

你可能感兴趣的:(iOS 开发 监听侧滑返回的系统方法)