iOS自定义导航控制器侧滑返回

导航控制器当我们自定义了左侧返回功能的时候,就没有了边缘侧滑返回的功能,这时候我们只需要在我们的导航控制器中添加以下代码,就可以使其拥有边缘侧滑返回的功能了:
在ViewDidLoad中添加以下代码

id target = self.interactivePopGestureRecognizer.delegate;
    UIPanGestureRecognizer* fullScreenGes = [[UIPanGestureRecognizer alloc]  initWithTarget:target action:@selector(handleNavigationTransition:)];
    [self.view addGestureRecognizer:fullScreenGes];
    fullScreenGes.delegate = self;
    self.interactivePopGestureRecognizer.enabled = NO;

然后实现UIGestureRecognizerDelegate方法

-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch{
    
    //判断是否是根控制器
    return self.childViewControllers.count>1;
    
}

只需要这简单的两部,就可以拥有像系统一样的侧滑返回功能了

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容