iOS-问题:监听侧滑返回

2021-03-30  本文已影响0人  Imkata
- (void)willMoveToParentViewController:(UIViewController *)parent {
    [super willMoveToParentViewController:parent]; 
    NSLog(@"willMove--%@--%@",parent,self);  //parent为nil,self有值
    if (!parent) {  //侧滑过程中, 做些其他事情
    }
}
- (void)didMoveToParentViewController:(UIViewController *)parent {
    [super willMoveToParentViewController:parent]; 
    NSLog(@"didMove--%@--%@",parent,self);  //parent为nil,self有值
    if (!parent) {  //侧滑完成,做些其他事情
    }
}
  1. 监听系统的侧滑返回,如果是push的,这两个方法都会调用,parent不为空,self更不为空,parent是导航控制器。
  2. 如果是侧滑返回,parent为空,self不为空。滑动过程中调用willMove,侧滑返回结束调用didMove。
  3. pop和侧滑返回是同一个道理。
  4. 如果是present和dismiss则不会调用这两个方法。

总结:可以根据parent为空,来监听侧滑返回和pop,从而做一些其他事情。

上一篇 下一篇

猜你喜欢

热点阅读