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) { //侧滑完成,做些其他事情
}
}
- 监听系统的侧滑返回,如果是push的,这两个方法都会调用,parent不为空,self更不为空,parent是导航控制器。
- 如果是侧滑返回,parent为空,self不为空。滑动过程中调用willMove,侧滑返回结束调用didMove。
- pop和侧滑返回是同一个道理。
- 如果是present和dismiss则不会调用这两个方法。
总结:可以根据parent为空,来监听侧滑返回和pop,从而做一些其他事情。