iOS侧滑返回事件问题和解决方案

本文详细介绍了在iOS应用中解决自定义导航栏左按钮返回事件后实现系统侧滑返回效果的方法,并讨论了解决方案在不同场景下的应用及后续可能出现的问题。通过设置导航控制器的交互式弹出手势代理属性,可以在不干扰自定义返回事件的情况下启用侧滑返回功能。同时,针对快速滑动单元格导致界面假死的问题,提出了一种动态调整交互式弹出手势有效性的策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

之前自己在做项目的过程中遇到过这种情况,如果在项目中自己定制了导航栏的左按钮返回事件,这样的话就无法触发系统的侧滑返回事件,在一定程度上影响了APP使用的舒适度。为了解决这个问题,我在网上也找过很多解决办法,但是在解决了可以侧滑返回问题的同时,新的问题又产生了,在这种循环中不断的查找,最终自己摸索出了一种解决方案,在此记录下,也希望可以帮到正在为这个问题着急的朋友的,废话不多说,进入正题!
问题一:怎么解决自定制左按钮返回事件后实现侧滑返回效果?

self.navigationController.interactivePopGestureRecognizer.delegate = (id<UIGestureRecognizerDelegate>)self;

问题二:问题一解决后,如果在tabBarController的界面上,快速的向右或向左滑动单元格2次,界面会假死,无法点击?(此问题用真机调试会更容易出现)

-(void)viewDidAppear:(BOOL)animated{ [super viewDidAppear:animated]{
 if ([self isKindOfClass:[OneViewController class]]||[self isKindOfClass:[TwoViewController class]]||[self isKindOfClass:[ThreeViewController class]]||[self isKindOfClass:[FourViewController class]]||[self isKindOfClass:[FiveViewController class]]) { 
self.navigationController.interactivePopGestureRecognizer.enabled = NO;
 }else{ 
self.navigationController.interactivePopGestureRecognizer.enabled = YES; 
}}

综上,侧滑的问题基本就解决了。可能我这种方法还存在一定的弊端未被发现,或者有更好地方法可以解决这个问题,我发现后会再次更新。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值