iOS系统侧滑返回

iOS系统侧滑返回

920 发布: 2021/7/21 16:21 本文总阅读量
侧滑返回,处理本页面逻辑【之前都是禁用侧滑】
/// 侧滑
- (void)willMoveToParentViewController:(UIViewController*)parent{
    [super willMoveToParentViewController:parent];
    
    NSLog(@"viewC-will==%@",parent);
    if (!parent) {
       
    }
    /**
     * 测试结论:当侧滑返回或者点击返回按钮  parent  总是为空,,,, 并且 willMoveToPa 方法侧滑一半返回时系统会
     * 调用 viewWillAppear ,因此可利用 parent 不存在来处理侧滑返回时需要处理的逻辑
     */
    
}
- (void)didMoveToParentViewController:(UIViewController*)parent{
    [super didMoveToParentViewController:parent];
    
    NSLog(@"viewC-did==%@",parent);
    if(!parent){
        
    }
}

- (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
    
    NSLog(@"viewC-viewWillAppear");
}

说明:
1.页面首次push进来的时候willMovedidMove都会调用,此时parent的值不为空;
2.当侧滑的时候,会先触发willMove,而parent的值为空【点击左上角返回按钮,同理也会触发此方法,parent也为空】;
3.当滑动完成并且返回了上个页面,则会调用didMove,parent的值也为空,如果滑动结束没有返回上个页面,而是留在了当前页面,那么不会调用didMove方法,但是这时会触发viewWillAppear
4.总结:可利用parent为空,处理响应的返回操作;